Figure 5 2 Products of requirements elicitation and

  • Slides: 24
Download presentation
Figure 5 -2, Products of requirements elicitation and analysis. Requirements elicitation Requirements Specification nonfunctional

Figure 5 -2, Products of requirements elicitation and analysis. Requirements elicitation Requirements Specification nonfunctional requirements functional model Analysis Model dynamic model analysis object model System design Object design Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1

Figure 5 -3, The analysis model is composed of the functional model, the object

Figure 5 -3, The analysis model is composed of the functional model, the object model, and the dynamic model. use case diagram: View functional model: Model class diagram: View object model: Model statechart diagram: View sequence diagram: View dynamic model: Model analysis model: Model Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2

Figure 5 -4, Examples and counterexamples of classes in the analysis object model of

Figure 5 -4, Examples and counterexamples of classes in the analysis object model of Sat. Watch. Domain concepts that should be represented in the analysis object model. Universal. Time. Zone Location Bernd Bruegge & Allen H. Dutoit Software classes that should not be represented in the analysis object model. Time. Zone. Database Refers to how time zones are stored (design decision). GPSLocator Denotes to how location is measured (design decision). User. Id Refers to an internal mechanism for identifying users (design decision) Object-Oriented Software Engineering: Using UML, Patterns, and Java 3

Figure 5 -5, Analysis classes for the 2 Bwatch example. <<entity>> Year <<entity>> Month

Figure 5 -5, Analysis classes for the 2 Bwatch example. <<entity>> Year <<entity>> Month <<control>> Change. Date. Control <<boundary>> Button. Boundary <<boundary>> LCDDisplay. Boundary <<entity>> Day Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4

Figure 5 -6, An example of a generalization hierarchy. Incident Low. Priority Emergency Cat.

Figure 5 -6, An example of a generalization hierarchy. Incident Low. Priority Emergency Cat. In. Tree Earth. Quake Traffic. Accident Bernd Bruegge & Allen H. Dutoit Disaster Chemical. Leak Building. Fire Object-Oriented Software Engineering: Using UML, Patterns, and Java 5

Figure 5 -8, Sequence diagram for the Report. Emergency use case. Manage Emergency. Control

Figure 5 -8, Sequence diagram for the Report. Emergency use case. Manage Emergency. Control Report Emergency. Button Field. Officer press() «create» Report. Emergency Control «create» Report. Emergency Form fill. Contents() submit. Report() «create» «destroy» Bernd Bruegge & Allen H. Dutoit Emergency Report submit. Report. To. Dispatcher() Object-Oriented Software Engineering: Using UML, Patterns, and Java 6

Figure 5 -9, Sequence diagram for the Report. Emergency use case (continued from Figure

Figure 5 -9, Sequence diagram for the Report. Emergency use case (continued from Figure 5 -8). Manage Emergency. Control submit. Report. To. Dispatcher() Dispatcher «create» Incident. Form create. Incident() «create» Incident submit() «create» Acknowledgment «destroy» Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7

Figure 5 -10, Sequence diagram for the Report. Emergency use case (continued from Figure

Figure 5 -10, Sequence diagram for the Report. Emergency use case (continued from Figure 5 -9). Field. Officer Manage Emergency. Control Report. Emergency Control acknowledge. Report() «create» dismiss() Acknowledgment Notice end. Report. Transaction() «destroy» Bernd Bruegge & Allen H. Dutoit «destroy» Object-Oriented Software Engineering: Using UML, Patterns, and Java 8

Figure 5 -12, Examples of CRC cards for the Report. Emergency. Control and the

Figure 5 -12, Examples of CRC cards for the Report. Emergency. Control and the Incident classes. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9

Figure 5 -13, An example of association between the Emergency. Report and the Field.

Figure 5 -13, An example of association between the Emergency. Report and the Field. Officer classes. Field. Officer * author Bernd Bruegge & Allen H. Dutoit writes 1 Emergency. Report document Object-Oriented Software Engineering: Using UML, Patterns, and Java 10

Figure 5 -14, Eliminating redundant association. author * Field. Officer writes document 1 Emergency.

Figure 5 -14, Eliminating redundant association. author * Field. Officer writes document 1 Emergency. Report 1 1 reports 1 Bernd Bruegge & Allen H. Dutoit Incident triggers 1 Object-Oriented Software Engineering: Using UML, Patterns, and Java 11

Figure 5 -15, Examples of aggregations and compositions. Fire. Station State County Fire. Fighter

Figure 5 -15, Examples of aggregations and compositions. Fire. Station State County Fire. Fighter Fire. Engine Lead. Car Ambulance Township Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12

Figure 5 -16, Attributes of the Emergency. Report class. Emergency. Report emergency. Type: {fire,

Figure 5 -16, Attributes of the Emergency. Report class. Emergency. Report emergency. Type: {fire, traffic, other} location: String description: String Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13

Figure 5 -17, UML statechart for Incident. Active field officer arrives on site Reported

Figure 5 -17, UML statechart for Incident. Active field officer arrives on site Reported Assessment dispatcher allocates resources field officer requests additional resources Response Disengagement field officer releases resources all resources deallocated when date > 1 yr. Inactive Closed Archived all resources submitted reports Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14

Figure 5 -18, An example of inheritance relationship. Police. Officer badge. Number: Integer Field.

Figure 5 -18, An example of inheritance relationship. Police. Officer badge. Number: Integer Field. Officer Bernd Bruegge & Allen H. Dutoit Dispatcher Object-Oriented Software Engineering: Using UML, Patterns, and Java 15

Define use cases Define participating objects Define entity objects Define boundary objects Define control

Define use cases Define participating objects Define entity objects Define boundary objects Define control objects Figure 5 -19, Analysis activities. Define interactions Define nontrivial behavior Define attributes Define associations Consolidate model Review model Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16

Client Developer Report problem or change request Design change and estimate impact Review proposed

Client Developer Report problem or change request Design change and estimate impact Review proposed change [change approved] Update requirements Design test Archive request Figure 522, An example of a revision process. Update design Update code (if applicable) Execute all relevant tests Review actual change Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17

Figure 5 -26, UML sequence diagram for Announce. Tournament, tournament creation workflow. : Tournament

Figure 5 -26, UML sequence diagram for Announce. Tournament, tournament creation workflow. : Tournament Form : Arena : League. Owner new. Tournament(league) «new» : Announce Tournament Control check. Max. Tournament() set. Name(name) set. Max. Players(maxp) commit() create. Tournament(name, maxp) «new» Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java : Tournament 18

Figure 5 -27, UML sequence diagram for Announce. Tournament use case, sponsorship workflow. :

Figure 5 -27, UML sequence diagram for Announce. Tournament use case, sponsorship workflow. : League. Owner : Request Sponsorship Form : Announce Tournament Control : Tournament : Arena : Advertiser request. Exclusive. Sponsor() find. Interested. Exclusive. Sponsors() confirm. Sponsor. Interest() : Sponsorship Request notify. Sponsor() : Sponsorship Reply notify. League. Owner() «new» reply(yes. No) select. Sponsor() set. Sponsorship(sponsor) Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19

Figure 5 -28, UML sequence diagram for Announce. Tournament use case, interest group workflow

Figure 5 -28, UML sequence diagram for Announce. Tournament use case, interest group workflow : League. Owner : Notify Interest Groups. Form : Announce Tournament Control : Interest Group notify. Sponsors. Of. Decision() «new» : Player : Sponsor Notice notify. Interest. Groups(groups) «new» Bernd Bruegge & Allen H. Dutoit : Advertiser notify. Advertiser(yes. No) : Interest Group Notice Object-Oriented Software Engineering: Using UML, Patterns, and Java notify. Player() 20

Figure 5 -29, Entity objects identified after analyzing the Announce. Tournament use case. Arena

Figure 5 -29, Entity objects identified after analyzing the Announce. Tournament use case. Arena 1 1 max tournaments sponsorship fee 1 1 * Advertiser 1 1 1 * League. Owner 1 * League 1 * Tournament 1 * Match Bernd Bruegge & Allen H. Dutoit 1 1 * Advertisement Account balance charges payments 1 * * Game * * 1 * * * Tournament. Style * Interest Group 1 * User * * name contact Player Object-Oriented Software Engineering: Using UML, Patterns, and Java 21

Figure 5 -30, Inheritance hierarchy among entity objects of the Announce. Tournament use case.

Figure 5 -30, Inheritance hierarchy among entity objects of the Announce. Tournament use case. User League. Owner Advertiser Game Tic. Tac. Toe Bernd Bruegge & Allen H. Dutoit Player Tournament. Style Chess Knock. Out. Style Object-Oriented Software Engineering: Using UML, Patterns, and Java Round. Robin. Style 22

Figure 5 -31, Associations among boundary, control, and selected entity objects participating in the

Figure 5 -31, Associations among boundary, control, and selected entity objects participating in the Announce. Tournament use case. Announce. Tournament. Control Arena Tournament. Form Tournament Request. Sponsorship. Form Sponsorship. Request Sponsorship. Reply Advertiser League. Owner Select. Exclusive. Sponsor. Form Sponsor. Notice Notify. Interest. Groups. Form Interest. Group. Notice Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23

Figure 5 -32, A naive model of the Gregorian calendar. Year 1 * Month

Figure 5 -32, A naive model of the Gregorian calendar. Year 1 * Month 1 * Week 1 * Day Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24