Ch4: Software Architecture and Design. The role of analysis and design. Software construction may be partitioned into the following phases: Req. analysis: S/w architecture: High-level/early design: Detailed design: Implementation: Testing:. The Role of Analysis and Design. Analysis:
Specifying “Good” Classes
Understanding the utility of classes
How and when to apply reuse, relationship among classes. Need discussion,
communication and cooperation among engineers.
+ Account: Int
+ Name: String
+ Address: String
+ Balance: Float
“+” indicates that the attribute/operation is public
“-” indicates that the attribute/operation is private
“#” indicates that the attribute/operation is protected
Checking Account and Savings
Account are special cases of
Administrative Staff and
Technical Staff are special
cases of the class Employee
Relationship among instances of objects of one class and instances of
objects among other classes. Represent using a line, label each end
With how many objects participate in the association.
Multiplicity constraints indicate how many objects participate
in the association.
May be specified as -- upper_bound….lower_bound
1, 1:1 – Only one object
*, 1:* - At least one object
* -- any number of objects between 0 and infinity
Multiplicity 1:3 indicates that each
Instructor teaches at least one course
but no more than three courses.
Objects are composed of simpler objects.
Triangle consists of three points.
Consider the process of updating the inventory in the high-tech supermarket system. Central to the process is an inventory order. An inventory assistant in the HTSS is responsible for managing a inventory order. In addition, each inventory assistant may be involved in managing several inventory orders. An inventory order is associated with a list of items. Each item in the list can be of three types, namely, snack item, liquor item, and canned item. Each inventory order is submitted to three wholesale stores. Each wholesale store caters to a specific set of items. For example, the Liquor Store is responsible for delivering liquor items. These three wholesale stores, are, namely, Liquor Store, Produce Store, and Snack Store. Construct a UML class diagram to model the process of inventory update in the HTSS.
PerishItemClass diagram: HTSS