Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Figure 5-2, Products of requirements elicitation.

Slides:



Advertisements
Similar presentations
Quiz 1.
Advertisements

Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation - Continued.
Presentation material is based on notes from Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 ECE.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Dynamic Modeling. Dynamic Modeling with UML Interaction diagram –Dynamic behavior of a set of objects arranged in time sequence –Interaction between objects.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Example of a Problem Statement: Introduction into.
Winter 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 2 due today. Assignment 3 is a GUI – posted soon. Due the end of next week. Project work.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 5, Analysis: Object Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Requirements Analysis (Part 1 – Object Modeling)
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5: Analysis, Object Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 UML First Pass: Class Diagrams Battery load()
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 5, Analysis.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Outline  Dynamic models  Sequence diagrams.
Chapter 4, Requirements Elicitation
Requirements Elicitation Chapter 4. Establishing Requirements Two questions –What is the purpose of the system –What is inside and what is outside the.
Use Cases Chapter 4. After Scenarios Find all the use cases in the scenario that specifies all possible instances of how to report a fire –Ex: “Report.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Object Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 2, Modeling with UML.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation: Functional Modeling.
6. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how events can be used to identify use cases that define requirements.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Example of a Problem Statement: Introduction into ARENA.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Requirements Analysis Document Template 1.Introduction.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Reminders  First project report due today 14:00.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Chapter 4, Requirements Elicitation
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Dynamic Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Functional Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 3, Project Communication.
Requirements Analysis
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 15, Software Life Cycle.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation: Functional Modeling.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 5, Analysis: Object Modeling.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing.
Using UML, Patterns, and Java Object-Oriented Software Engineering Functional Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Object Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation: Functional Modeling.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation: Functional Modeling.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 19, 2001 UML.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
1 Object Oriented Analysis Lectures 12 & References Chapter 4: Requirements Elicitation from Object Oriented Software Engineering: Conquering Complex.
OOSE UNIT 2. REQUIREMENT ELICITATION CONCEPTS FUNCTIONAL REQUIREMENTS NONFUNCTIONAL REQUIREMENTS COMPLETENESS,CONSISTENCY,CLARITY AND CORRECTNESS REALISM,VERIFIABILITY.
CEN Sixth Lecture Requirements Analysis: Object Modeling Introduction to Software Engineering (CEN- 4010) Instructor: Masoud Sadjadi
Using UML, Patterns, and Java Object-Oriented Software Engineering More on UML Note: Slides are adapted by Linda Sherrell from the Software Engineering.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 1, Introduction to Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Project Wikis are private again. Assignment 3 is posted. Due Nov. 6. SDD framework must be in place.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 5, Analysis: Object Modeling.
Two New UML Diagram Types Component Diagram Deployment Diagram.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
Figure 4-1, Products of requirements elicitation and analysis.
CISC/CMPE320 - Prof. McLeod
Advance Software Engineering (CEN-5011)
CISC/CMPE320 - Prof. McLeod
CISC/CMPE320 - Prof. McLeod
Chapter 5, Analysis: Object Modeling
COP 4009 Component-Based Software Engineering
Presentation transcript:

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

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

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)

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

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

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»

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

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»

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.

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

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

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

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

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

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

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

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.

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»

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()

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)

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 ** User 1 *

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

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

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