Software interfaces and detailed design


BSA/385   Week 3       Eight Discussion and one Individual paper.


Software Interfaces and Detailed Design


Supporting Activity: Design qualities


Write a 250- to 300-word response to the following:


1A software design is assessed in terms of design qualities such as sufficiency, robustness, flexibility, reusability, efficiency, and reliability.  In your own words, describe the meaning of 1 or 2 of these qualities.  Use examples or counterexamples on why it is important to have these qualities.


Supporting Activity: Is Design Necessary?


Write a 250- to 300-word response to the following question:


2 Why is software design necessary? Would it be more efficient for a software engineer to gather requirements and go straight to software construction? Discuss the pros and cons of such an approach.


Software Engineering: Modern Approaches


Write a 250- to 300-word response to the following questions:


3 Your company produces software that controls a robot arm for manufacturing. Name four classes that would be appropriate members of your company’s software framework. Explain your reasoning.


4.  Complete the following, explaining under what circumstances you would use the following in detailed design.


(a) Use activity diagrams when the logic _________.


(b) Use pseudocode for a method when _________.


5. Describe in your own words the advantages of specifying preconditions, postconditions, and invariants. How, specifically, do they help to increase the quality of functions?


6.  Consider an application that helps manage a fabric store. Assume that the stores sell fabrics and associated items such as buttons and ribbons. Give three to four robustness issues specific to this application. Explain your choices.






7. Consider a design for a video store application.


a. Suppose that we use just one class VideoStore, which allows the entry and removal of a video name assigned to a customer, stored via a telephone number as key. What exactly is inflexible about this design?




8. Operating systems are frequently designed using a layered architecture. Research the Linux operating system on the Internet, and explain how it utilizes a layered architecture. What are the benefits of such an architecture?




Individual: Frequent Shopper Program, Part II






Create a 2- -page technical architecture document for the Frequent Shopper Program defining the following:




•Hardware platform: Describe the hardware environment to support the development and production of this system.




•Network connections between the stores and headquarters: A network diagram is required.




•Database information: An entity-relationship diagram (ERD) is expected for customer data covering personal data and purchases.




•User interfaces: Describe the interface for data collection and notification to store personnel and customers.




•Controls: Describe the controls to make sure the customer information is accurately maintained and the purchase activity is accurately captured.


•Security: Describe the security measures to protect the customer’s personal and purchase history data.