320 likes | 500 Views
Software Specification using the Unified Modeling Language. By Diana Chan, Ben Craig, Watson Fagan, Wenping Li, Suhasini Varadhan. Sources. Object Management Group, Inc. OMG Unified Modeling Language Specification. Version 1.5, March 2003.
E N D
Software Specification using the Unified Modeling Language By Diana Chan, Ben Craig, Watson Fagan, Wenping Li, Suhasini Varadhan
Sources • Object Management Group, Inc. OMG Unified Modeling Language Specification. Version 1.5, March 2003. • Borland, “Practical UML: A Hands-On Introduction for Developers”, http://bdn.borland.com/article/0,1410,31863,00.html (current 8 Sept. 2004). • Drexel University, “Object Oriented Analysis and Design Using UML”, http://www.pages.drexel.edu/~ap62/index.html (current 8 Sept. 2004).
Introduction • What is the Unified Modeling Language (UML)? • Standard software modeling language developed in the mid-1990’s • Graphical language designed for expressing object-oriented (OO) designed software • UML provides a framework for communicating different aspects of an OO software system • Enhances communication between software designers • Leads to better planning, which in turn reduces the time & cost of the software development process
UML Modeling Diagrams • The UML’s main core is made up of ten modeling diagrams [OMG] & [Drexel]: • Use case diagrams (Requirement Phase) • Class diagrams (Design Phase) • Sequence diagrams (Design Phase) • Collaboration diagrams (Design Phase) • State Chart diagrams (Design Phase) • Activity diagrams (Design Phase) • Object diagrams (Design Phase) • Package diagrams (Implementation Phase) • Component diagrams (Implementation Phase) • Deployment diagrams (Implementation Phase)
Use Case • What is a Use Case? • An action that an actor performs with a system to achieve a particular goal [Drexel] • What is an actor? • Anything outside of the system that interacts with the system (e.g., a computer operator) • What is a system? • A system, subsystem, or class of the software being developed
Identifying Use Cases • An Actor-based approach [Drexel]: • Identify actors • Identify the goals of each actor • Create Use Cases that satisfy each goal
Identify the actors • Two actors for the missile system • Missile System Operator (Operator) • Missile System Commander (Commander) • Operator • Performs basic actions with the missile system • Commander • Interacts with the missile system when critical actions and authorizations are necessary
Identify goals of actors • Goals of Operator • Needs access to the missile system • Needs the missile to be configured properly • Needs the missile to be working properly • Needs to be able to fire the missile • Goals of Commander • Needs access to the missile system • Needs to be able to give permission to launch the missile
Complete the Use Cases • Recall how we defined a Use Case • An action that an actor performs with a system to achieve a particular goal [Drexel] • We have already identified the actors, system, & goals • Actors – operator, commander • System – pre-launch/launch sub-system • Goals – identified in previous stage • We need to come up with actions that satisfy each of the identified goals • Once we have the actions filled in, we have identified all the underlined properties and we have generated our Use Cases
Operator Goals Needs access Needs missile configured properly Needs missile to work properly Needs to fire missile Commander Goals Needs access Needs to give permission for launch Satisfying Actions Logs into the system Inputs target info & waypoints Initiates diagnostic test Initiates launch operation Satisfying Actions Logs into the system Enters authorization input into the system Actions that satisfy each goal
Use Case Diagrams (UCDs) • UCDs are beneficial to designers in several ways [Borland]: • Good for determining requirements • Improve communication with clients • Help generate test cases
Expanding Use Case Diagrams • Three common features that may be added to UCDs to provide more information [Borland]: • Include relationships • Generalizations • Extend relationships
Software Specification using the Unified Modeling Language By Diana Chan, Ben Craig, Watson Fagan, Wenping Li, Suhasini Varadhan
Sources • Andy Pols, “Use Case Zone”, http://www.pols.co.uk/use-case-zone/index.html (current 13 Sept. 2004). • UseCases.org, “Templates Online”, http://alistair.cockburn.us/usecases/usecases.html (current 13 Sept. 2004).