1 / 21

The UML in the context of the Information Systems Development Lifecycle

The UML in the context of the Information Systems Development Lifecycle. Acknowledgements: Thanks to PAW for permission to re-use some elements of her teaching material. UML.

vashon
Download Presentation

The UML in the context of the Information Systems Development Lifecycle

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. The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to PAW for permission to re-use some elements of her teaching material

  2. UML • “The OMG's Unified Modeling Language™ (UML™)helps you specify, visualize, and document models of software systems, including their structure and design, in a way that meets all of these requirements.” • http://www.omg.org/gettingstarted/what_is_uml.htm

  3. Components of UML • Use Case Diagrams • Activity Diagrams • Class Diagrams • Interaction Diagrams • Sequence Diagrams • Collaboration Diagrams • Deployment Diagrams • There are others, eg State Charts, but we won’t mention these in this lecture. Investigate them yourself by all means.

  4. Use Cases • Nearly all object-oriented design methods now use use case models to help represent requirements. • Use case modelling was invented by Ivar Jacobsen, one of the three amigos who created UML. • A use case model shows the external view of a system which is being designed. • Useful for users.

  5. deposit withdraw transfer customer statement teller add interest

  6. Activity Diagrams • The closest UML gets to flowcharts. • Useful for showing scenarios of how actors execute the activities of a use case. • One diagram for one scenario. • Can be used to model system behaviour as well, where roles become objects. • Helps designers and users.

  7. Not on Use Case diagram? [no accounts to do] Done? Free Enter [accounts to do] Ready Doing Accounts Request Authorisation Complete Wait Teller Manager Customer

  8. Class Diagrams • Static representation of the system’s structure • Can show various relationships between classes • Essential element of design document • Not useful for most users

  9. Customer 1 0..* Account 1 0..* holds Branch moves money to 1 1 Transfer Current Account 1 Savings Account summarises Statement 1

  10. A class with more attributes and operations Account ID : Integer Customers : Collection … getBalance() : Real setBalance(): void addToBalance(): void …

  11. Sequence Diagrams • One of the two types of interaction diagrams. • Useful for showing complex interactions between a limited number of objects. • Can be used to show one scenario of use from a “technical” perspective. • Not useful for most users.

  12. c:Customer ac1:Account b:Branch :ACustomer :Teller deposit(v,a,name) c:= getRec(name) ac1 := getAcc(a,c) addToBalance(v)

  13. Collaboration Diagrams • The second type of interaction diagram. • Useful for showing simple interactions between a large number of objects. • Can be used to show one scenario of use from a “technical” perspective. • Maps well to class diagram. • Not useful for most users

  14. b:Branch 1.1:c:= getRec(name) 1:deposit(v,a,name) 1.2:ac1 := getAcc(a,c) c1:Customer :ACustomer :Teller 1.3addToBalance(v) ac1:Account

  15. Deployment Diagrams • Show which components are physically located at/on which locations/machines. • Useful starting point for a new & unfamiliar technical person during maintenance and reengineering efforts. • Not useful for most users

  16. <<CORBA>> c:clientApp s:serverApp <<LAN>> userPC:PC banker:SunWorkstation

  17. Problems with existing system New business opportunities Systems Development Lifecycle, after Avison and Shah p240 IS planning Managerial directive Feasibility study Feasibility study report Systems investigation User requirements Project plans Resource requirements Staff assignment Methods and tools Current system data flow Systems analysis System requirements Systems design New system data flow System specification Training and test plans Implementation Programs Procedures Documentation New system in operation Review and maintenance Evaluation report New problem statement?

  18. ISDL v UML • Feasibility study - initial use cases. • Systems investigation - refine use cases and create initial activity diagrams. • Systems analysis - refine use cases and activity diagrams, develop high-level class and interaction diagrams. • Systems design - refine class and interaction diagrams and develop initial deployment diagrams. • Implementation - refine deployment diagrams. Ensure all diagrams are consistent with each other and code. • Review & maintenance - refer to, and edit, existing diagrams.

  19. An Alternative View Use Case Diagrams Activity Diagrams Requirements Capture System Structure System Behaviour Class Diagrams Deployment Diagrams Interaction Diagrams Activity Diagrams

  20. Where to Start? • Paper and Pencil. • Use those diagrams which help. • Pseudocode, screen mock-ups, story boards may also help you and your users. • Eventually migrate diagrams to a drawing package or a UML tool. • Diagrams (like plans) are not written in stone so revise as necessary. • LoD and consistency in models is an open issue.

  21. Further Reading • General • Object Management Group, http://www.omg.com/ • The UML Zone, http://www.uml-zone.com/ • Tools/Methodologies • UML Open Edition, http://www.umlopenedition.com/ • argoUML, http://argouml.tigris.org/ • Rational, http://www.rational.com/ <-- also lots of white papers available • Catalysis, http://www.trireme.u-net.com/catalysis/ • The New Methodology http://www.martinfowler.com/articles/newMethodology.html • Books • Perdita Stevens and Rob Pooley, Using UML - Software Engineering with Objects and Components Addison Wesley ISBN 0-201-64860-1 • UML Distilled: Second Edition by Martin Fowler with Kendall Scott • SAMS Teach Yourself UML in 24 Hours by Joseph Schmuller • Applying UML: Advanced Applications, Rob Pooley, Pauline Wilcox, Butterworth-Heinemann; ISBN: 0750656832

More Related