9/ 29/ 2009 | 1 9/ 29/ 2009 | 2 What we can do when stakeholders are busy Requirements Engineering Unit 4: › Business process first, and then system and user requirements Requirements modeling, specification & › Observation method prioritization › Individual meetings rather than joint workshops › Department of Computer Science / Peng Liang › Meet “keenest” people first › Corridor conversations, lunches, office dropins … › Rijksuniversiteit Groningen (RUG) › Talk to them about their day to day work › http:/ / www.cs.rug.nl/ ~liangp/ teaching/ courses/ RE2009Fall/ Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall 9/ 29/ 2009 | 3 9/ 29/ 2009 | 4 Last Unit Course outline Requirem ent Requirem ents Engineering elicitation Requirem ents Engineering process This Unit Requirem ents elicitation Requirem ent m odeling & Requirem ents specification docum entation Requirem ent Requirem ent Next Unit negotiation analysis Requirem ents m anagem ent Requirem ent specification Requirem ent validation & validation Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall
9/ 29/ 2009 | 5 9/ 29/ 2009 | 6 Contents › RE modeling methods (use case modeling) › How to write good use case › How to write good requirements specification Requirements modeling › How to do requirements prioritization Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall 9/ 29/ 2009 | 7 9/ 29/ 2009 | 8 Modeling is important for understanding Modeling purpose in RE ATM system › Easy understanding and communication • Checking the understanding (sequence diagram) • Uncovering problems (scope, terminology) Withdraw cash › Efficient requirement management • Guiding the requirement elicitation (actors from Dog: Actor stakeholders) Withdraw cash: Usecase • Measure of development progress (package based) ATM: System boundary Application dom ain Model dom ain Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall
9/ 29/ 2009 | 9 9/ 29/ 2009 | 10 RE modeling methods Use case and requirement specification › Goal-oriented User › Scenario-based requirements › Aspect-oriented Software Use cases modeling › Stakeholder-oriented Requirem ents › Commonality and variability based Specification trace back › Requirement reuse-driven FR NFR › Use case modeling Detailed requirements specification B. Cheng and J. Atlee. Research directions in requirem ents engineering . Proceedings of the 29th International Conference on Future of Software Engineering (FOSE), pages 285-303, 2007. Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall 9/ 29/ 2009 | 11 9/ 29/ 2009 | 12 Use case modeling Use case modeling: overview › What is use case modeling? › Core concepts › Diagram tour › Modeling tips Use Case Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall
9/ 29/ 2009 | 13 9/ 29/ 2009 | 14 What is use case modeling? Use case modeling: core elements › A view of a system that emphasizes the behavior as it Construct Description Syntax appears to external users A sequence of actions, including variants, a system performs that Use case yields an observable result of › System functionality partition into transactions ( ‘ use value to a particular actor. cases ’ ) that yields an observable result of value to a A set of roles that the users of use particular users ( ‘ actors ’ ). Actor cases play when interacting with the use cases Represent the boundary between System the system and the actors who boundary interact with the system Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall 9/ 29/ 2009 | 15 9/ 29/ 2009 | 16 Use case modeling: core relationships Use case diagram tour › By examples Construct Description Syntax • use cases, actor and their relationships The participation of an actor in a association use case › Use case description A taxonomic relationship • text or interaction diagrams (sequence or generalization between a general actor and a collaboration diagram) more specific actor A relationship from an extension «extend» extend use case to a base use case A relationship from an base use «include» include case to a inclusion use case Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall
9/ 29/ 2009 | 17 9/ 29/ 2009 | 18 Use case diagram Use case relationships Use case Telephone Catalog Order Actor Supply Arrange Product Customer Data Payment Check status Association «include» «include» «include» Place Salesperson order Place Order Fill orders «extend» Shipping Clerk Extension points Customer 1 * additional requests : the salesperson asks for after creation of the order the catalog Establish Salesperson credit Request System Catalog boundary back Supervisor Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall 9/ 29/ 2009 | 19 9/ 29/ 2009 | 20 Actor relationships Use case description: Change Flight Place 1 * Order Salesperson Client Account DB Change Flight Traveler Establish Airline 1 * Credit Reservation System Supervisor Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall
9/ 29/ 2009 | 21 9/ 29/ 2009 | 22 Use case description: Change Flight Use case description: Change Flight › › Basic course Actors System retrieves traveler ’ s account and flight itinerary from client • • traveler, client account database, airline reservation system account database › Pre-conditions: • System asks traveler to select itinerary segment she wants to • Traveler has logged on to the system and selected ‘ change change; traveler selects itinerary segment. flight itinerary ’ option • System asks traveler for new departure and destination information; traveler provides information. › Post-conditions: If flights are available then … • • Traveler gets flight itinerary modification result … • • System displays transaction summary › Alternative courses If there are no flights available … • Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall 9/ 29/ 2009 | 23 9/ 29/ 2009 | 24 Use case modeling tips (1) Use case modeling tips (2) › Communication purpose › Factor out common usages • Observable result to actor • use « include » : usage required by multiple use cases • Understandable by both domain experts and • use « extend » : the usage may be optional developers › Use case diagram should › Naming scheme • the same level of abstraction • Use “ verbs + nouns ” , behavior and results • include only actors required by the use case • Help derive objects and messages for detailed design • organized by packages when large number of UC (e.g., interaction diagrams) Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall
9/ 29/ 2009 | 25 9/ 29/ 2009 | 26 How to write good use case Typical problems when using use case modeling Use Case Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall 9/ 29/ 2009 | 27 9/ 29/ 2009 | 28 Top 1 – mixed-up system boundary Computer system boundary ? System System user Ticket Ordering System Business user System user Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall
9/ 29/ 2009 | 29 9/ 29/ 2009 | 30 Business boundary Use case model layout Ticket Sales Business System Order Tickets View Schedule Kiosk Customer Create Schedule Credit Card Validation System Schedule Administrator Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall 9/ 29/ 2009 | 31 9/ 29/ 2009 | 32 Top 2 - Actor’s point of view Top 2 - Actor’s point of view › Order tickets: Use case Sym ptom 1 Sym ptom 2 • Basic course Process Tickets Order Tickets • Ticket machine gets the credit card; Order • Ticket machine verifies the credit card information; • Ticket machine gets ticket schedule info; Display • Ticket machine processes the credit card payment; View Schedule Kiosk Customer Kiosk Customer Schedule • Ticket machine prints out the ticket. All about the internal functionality of ticket m achine Peng Liang Requirements Engineering 2009 Fall Peng Liang Requirements Engineering 2009 Fall
Recommend
More recommend