Download presentation
Presentation is loading. Please wait.
Published byJuliana Sims Modified over 9 years ago
1
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Figure 5-2, Products of requirements elicitation and analysis. Analysis functional model nonfunctional requirements analysis object model Requirements elicitation dynamic model Requirements Analysis Model Specification System design Object design
2
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Figure 5-3, The analysis model is composed of the functional model, the object model, and the dynamic model. analysis model:Model dynamic model:Model object model:Model functional model:Model use case diagram:View class diagram:View statechart diagram:View sequence diagram:View
3
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Figure 5-4, Examples and counterexamples of classes in the analysis object model of SatWatch. UniversalTime TimeZone LocationTimeZoneDatabaseGPSLocatorUserId Software classes that should not be represented in the analysis object model. Domain concepts that should be represented in the analysis object model. Refers to how time zones are stored (design decision). Denotes to how location is measured (design decision). Refers to an internal mechanism for identifying users (design decision)
4
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Figure 5-5, Analysis classes for the 2Bwatch example. > Year > Month > Day > ChangeDateControl > LCDDisplayBoundary > ButtonBoundary
5
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Figure 5-6, An example of a generalization hierarchy. Incident LowPriorityEmergencyDisaster EarthQuakeChemicalLeakCatInTree TrafficAccidentBuildingFire
6
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Figure 5-8, Sequence diagram for the ReportEmergency use case. FieldOfficer Report EmergencyButton ReportEmergency Control ReportEmergency Form Emergency Report Manage EmergencyControl press() «create» submit() fillContents() submitReport() submitReportToDispatcher() «create» «destroy»
7
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Figure 5-9, Sequence diagram for the ReportEmergency use case (continued from Figure 5-8). IncidentForm IncidentAcknowledgment createIncident() submit() Manage EmergencyControl submitReportToDispatcher() «create» «destroy» Dispatcher
8
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 Figure 5-10, Sequence diagram for the ReportEmergency use case (continued from Figure 5-9). FieldOfficer ReportEmergency Control Acknowledgment Notice Manage EmergencyControl dismiss() acknowledgeReport() «create» endReportTransaction() «destroy»
9
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 Figure 5-12, Examples of CRC cards for the ReportEmergencyControl and the Incident classes.
10
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 Figure 5-13, An example of association between the EmergencyReport and the FieldOfficer classes. * 1 writes authordocument FieldOfficerEmergencyReport
11
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Figure 5-14, Eliminating redundant association. * 1writes author document 1 1 1 1 triggers reports FieldOfficerEmergencyReport Incident
12
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Figure 5-15, Examples of aggregations and compositions. State County Township FireStation FireFighter FireEngine LeadCar Ambulance
13
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Figure 5-16, Attributes of the EmergencyReport class. EmergencyReport emergencyType:{fire,traffic,other} location:String description:String
14
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14 Figure 5-17, UML statechart for Incident. Active InactiveClosedArchived all whendate > 1yr. resources submitted reports ReportedAssessment DisengagementResponse field officer arrives on site field officer releases resources dispatcher allocates resources field officer requests additional resources all resources deallocated
15
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15 Figure 5-18, An example of inheritance relationship. FieldOfficerDispatcher PoliceOfficer badgeNumber:Integer
16
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16 Figure 5-19, Analysis activities. Review model Consolidate model Define interactions Define associations Define attributes Define nontrivial behavior Define use cases Define participating objects Define boundary objects Define control objects Define entity objects
17
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17 Report problem or Design change and change requestestimate impact Update requirements Update design Update code (if applicable) Design test Execute all relevant tests Archive request [change approved] Review proposed change Review actual change ClientDeveloper Figure 5- 22, An example of a revision process.
18
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18 Figure 5-26, UML sequence diagram for AnnounceTournament, tournament creation workflow. :Tournament:League :Announce Tournament Control :Tournament Form :LeagueOwner newTournament(league) «new» setName(name) setMaxPlayers(maxp) commit() createTournament(name,maxp) :Arena checkMaxTournament() createTournament(name,maxp) «new»
19
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19 Figure 5-27, UML sequence diagram for AnnounceTournament use case, sponsorship workflow. :Tournament :Arena :Announce Tournament Control :Request Sponsorship Form :LeagueOwner :Advertiser requestExclusiveSponsor() findInterestedExclusiveSponsors() confirmSponsorInterest() setSponsorship(sponsor) :Sponsorship Request :Sponsorship Reply notifySponsor() reply(yesNo) «new» notifyLeagueOwner() selectSponsor()
20
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20 Figure 5-28, UML sequence diagram for AnnounceTournament use case, interest group workflow :Interest Group :Announce Tournament Control :Notify Interest GroupsForm :LeagueOwner :Player:Advertiser notifyInterestGroups(groups) :Sponsor Notice :Interest Group Notice notifySponsorsOfDecision() «new» notifyPlayer() notifyAdvertiser(yesNo)
21
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21 Figure 5-29, Entity objects identified after analyzing the AnnounceTournament use case. League Tournament Match 1 * 1 * TournamentStyle Game Arena Advertisement Interest Group max tournaments sponsorship fee Advertiser LeagueOwner Player name contact Account balance charges payments 1 * 1 1 1 * 1 * 1 * 1 * 1 * 1 * 1 * * * * 1 * * * 1 ** User 1 *
22
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22 Figure 5-30, Inheritance hierarchy among entity objects of the AnnounceTournament use case. User LeagueOwnerAdvertiserPlayer Game TicTacToeChess TournamentStyle KnockOutStyle RoundRobinStyle
23
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23 Figure 5-31, Associations among boundary, control, and selected entity objects participating in the AnnounceTournament use case. SelectExclusiveSponsorForm TournamentForm RequestSponsorshipForm SponsorshipRequest SponsorshipReply NotifyInterestGroupsForm InterestGroupNotice AnnounceTournamentControlArena LeagueOwner Tournament Advertiser SponsorNotice InterestGroup
24
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24 Figure 5-32, A naive model of the Gregorian calendar. 1 * 1 * 1 * Year Month Week Day
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.