1 / 28

Analysis and Design in RUP

Analysis and Design in RUP. Activities in RUP. Requirements : learning what the system is to do Analysis: transform requirements to something that maps well to the software designers area of concern; classes and subsystems. Ensures that functional requirements are met.

waneta
Download Presentation

Analysis and Design in RUP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Analysis and Design in RUP

  2. Activities in RUP • Requirements : learning what the system is to do • Analysis: transform requirements to something that maps well to the software designers area of concern; classes and subsystems. Ensures that functional requirements are met. • Design: move closer to implementation. Ensure that non-functional requirements are met. CS427

  3. Result of Requirements Capture • Vision • Use-case model with detailed description of each use case • Set of user interface sketches and prototypes • Requirements document for generic requirements CS427

  4. Workers and their artifacts • System analyst • use-case model (diagram) • actors • glossary • Architect - Architecture description • Use-case specifier - Use-cases • User interface designer • User interface prototype CS427

  5. Workflow for capturing requirements CS427

  6. Systems analyst • Determines actors and use cases based on knowledge of system. • Interviews users to discover more use cases and actors. CS427

  7. Architect • Determine which use cases need to be developed first. • High priority use cases • describe important and critical functionality • security • database • hard to retrofit later CS427

  8. Use-case specifier • Create detailed descriptions of use cases • Works closely with real users of use case CS427

  9. UI design • Logical design • Which user-interface elements are needed for each use case? • What information does the actor need to receive from or give to the system? • Prototyping • Often is on paper. • Test on real users CS427

  10. Requirements Specification • Not all requirements go in a use case. • Example: security • Example: global performance • Requirements document describes all other requirements that are not suitable for use cases. CS427

  11. Analysis model • Class diagrams • vague interfaces (“responsibilities”) • vague associations (ignore navigability) • stereotype classes: • boundary - UI, associated with actor • control - control associated with a use case • entity - persistent, the “real” objects • Use-case realization (Analysis) CS427

  12. Stereotypes <<control>> <<boundary>> <<entity>> <<boundary>> <<boundary>> CS427

  13. Packages • Logical grouping • Used to • divide large system into smaller subsystems • show dependencies between subsystems • Can contain • class diagrams or packages • use cases, sequence diagrams, etc. CS427

  14. Packages CS427

  15. Packages and dependencies • Reduce coupling • Increase cohesion • In packages • cohesion is between classes in a package • coupling is between classes in different packages • In classes • cohesion is between methods in a class • coupling is between methods in different classes CS427

  16. Workflow for analysis CS427

  17. Architect • Responsible for the integrity of analysis model • Makes sure packages fit together • Makes sure each package is good • Identifies obvious entity classes • Lets other classes be defined during use-case realizations and component analysis CS427

  18. Architect • Identify common special requirements • Persistence • Distribution and concurrency • Security • Fault tolerance • Transaction management CS427

  19. Use case engineer • Identify analysis classes needed by use-case • Boundary classes, control classes, entity classes • Distribute behavior of use-case to classes • Make use-case realization: a precise description of use-case • sequence diagram • collaboration diagram CS427

  20. Component Engineer • Analyze classes • Gather information from use cases • Make sure class is coherent • Make model as simple as possible, but no simpler. • Analyze a package • Relationships between classes • Relationships between packages CS427

  21. Outline of RUP process for analysis • Find use cases • Architect determines order • Repeatedly, • take next use case • change class diagram to accommodate use case • simplify class diagram CS427

  22. Object diagram • Snapshot of objects in a system at a point in time • If there is just one object of each class, the class diagram and the object diagram are the same • As classes become more reusable, object diagram becomes more interesting CS427

  23. Class diagram <<control>> <<boundary>> <<entity>> <<boundary>> <<boundary>> CS427

  24. Class and object diagrams 101:Claim Jim:Adjudicator 102:Claim Id:620194211 103:Claim :Claim Processor Jan:Adjudicator 104:Claim Id:301478334 105:Claim CS427

  25. Summary • Analysis is converting vague user needs into a precise model of what the system should do. • Analysis is incremental; look at one piece of the problem at a time. • Requires continually changing the model until you are done. CS427

  26. XP • Customer writes set of stories • Developers estimate time to implement • Customer makes sequence • For each story do • Write a test • Program until test works • Refactor • until there are enough tests CS427

  27. Process consultant – both XP and RUP • Will help you figure out a process and make it work for you. • Kristen Zhang • ckzhang@uiuc.edu CS427

  28. Next time • Case study • Read http://www.designfest.org/Problems/ Viking/Viking_00.pdf CS427

More Related