Presentation is loading. Please wait.

Presentation is loading. Please wait.

 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.

Similar presentations


Presentation on theme: " A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common."— Presentation transcript:

1

2  A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common vocabulary for all software specialists

3  A model is an abstraction of a situation  Models consist of objects  Objects are alive:  They know their attributes  They can do things using their methods  They exist in different states  Each object is unique, it is not any other object.  Objects live in communities  they exchange messages  They have relationships with each other  Objects live in a world, and there are other worlds  Classes are blueprints of objects  Object are instances of classes

4  Use Case diagrams  Class diagrams  Object diagrams  Sequence diagrams  Collaboration diagrams  State chart diagrams  Activity diagrams  Component diagrams  Deployment diagrams

5  Describe what the system does from the view of an external observer.  Use cases represent scenarios of what could happen to the system.  A Use Case is a summary of a scenario of some related tasks

6  “A patient calls the clinic to make an appointment for a yearly checkup. The receptionist finds the nearest empty time slot in the appointment book and schedules the appointment for that time slot.”

7  A Use Case diagram is a summary of Use Cases

8  Use Case diagrams show the system boundaries

9  Generalization = one is a special kind of the other

10  Includes = one invokes the other

11  Extend = one is a variation of the other

12  Ask “what”, “when”, “why” questions  Explain what you understand  Keep doing that until you get a precise mutual understanding

13  Use cases should be names using verbs  Use Cases should be described:  What makes them happen  What are the conditions that they happen  What are the input messages  What are the output messages  What are all the other conditions and restraints  What are the exceptions  Use Cases are tools use by Actors to get results

14  Because Use Cases  Help you understand WHAT you are modeling  Help you communicate with your clients  Help you estimate your requirements  Help you introduce the system to your team  Help you plan your design phase  Help you plan your testing phase  Help you write your documentation (How-to’s)

15  At least, you should describe:  Who are the actors  Why does it happen? (the goal and/or context)  When does it happen? (the triggering event)  What happens? (the normal flow)  What else? (alternative and/or exceptional flows)  What are all the business rules?  Do not bother writing how it happens.

16  Actor names are in single.  Actors represent roles, not persons  Use case name is a verb followed by a direct object.  Show only Use Cases that are important to the user  Show only actors that are directly related to the Use Cases  Create many detailed Use Case diagrams to analyze requirements  Group common Use Cases in Packages.

17  Unclear system boundary  The Use Case is written from the system view  The actor names are inconsistent  There are too many Use Cases  The Actor to Use Case relationship is too complicated  The use-case specifications are too long  The use-case specifications are confusing  Incorrect description of the Use Case functionality  The customer doesn't understand the use cases  The use cases are never finished


Download ppt " A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common."

Similar presentations


Ads by Google