580 likes | 941 Views
ADMS-BIS. Bouwkundige Informatiesystemen ADMS 2006 UML part 1. Jan Dijkstra - 9 oktober 2006. Subjects. Software Engineering Software Requirements Introduction A use case approach UML : Use Case Modelling Exercise UCD Discussion exercise UCD UML Introduction UML : Activity Diagram
E N D
ADMS-BIS Bouwkundige InformatiesystemenADMS 2006UML part 1 Jan Dijkstra - 9 oktober 2006
Subjects • Software Engineering • Software Requirements • Introduction • A use case approach • UML : Use Case Modelling • Exercise UCD • Discussion exercise UCD • UML Introduction • UML : Activity Diagram • Microsoft Visio • Task UML-part 1
Information system design with UML • Having knowledge of the visual modelling language UML in the field of ICT. • Gain a clear understanding of applying this knowledge for specifying, constructing, visualizing and documenting software-intensive systems.
Study Matter • Ian Sommerville Software Engineering , 6th edition – Ch.6 Addison Wesley • Dean Leffingwell & Don Widrig Managing Software Requirements, 2nd edition Addison Wesley • Grady Booch, James RumBaugh & Ivar Jacobson The Unified Modeling Lnaguage – Covers UML 2.0, 2nd edition Addison Wesley • Martin Fowler UML Distilled, 3nd edition Addison Wesley • Fowler & Scott UML beknopt, 2nd edition Addison Wesley • Sander Hoogendoorn Pragmatisch modelleren met UML 2.0 Addison Wesley
About UML • UML offers a standard way to write a system’s blueprints, including conceptual things such as business processes and system functions as well as database schemas. • UML is a modelling language, a notation used to express and document designs.
What is the UML? The Unified Modelling Language (UML) is the successor to the wave of object-oriented analysis and design (OOA&D) methods that appeared in the late ’80s and early ’90s. It unifies the methods of Booch, Rumbaugh (OMT), and Jacobson (3 amigo’s).
Data and Processes • Traditional, the division between data and processes • were structured separately, • and functions made use of data • For OO • an object contains data and processes • encapsulation • information hiding • avoiding domino effect adaptations • more simple and cheaper maintenance
Domain modelling • Traditional, functional decomposition was the strategy • adaptations are difficult • For OO • domain modelling independent of the required functions • objects encapsulates functionality • It is easier to make adaptations and extensions
UML is for modelling • Building models of complex systems because one cannot comprehend such a system in its entirely. • At this, a model • is a simplification of reality • is a set of blueprints of a system • is an abstraction of something for the purpose of understanding it before building it • may be expressed a different level of expression (no single model is sufficient)
UML is for visualizing • An explicit model facilitates communication. • UML symbols are based on well-defined semantics.
UML is for specifying and constructing • Specifying means building models that are precise, unambiguous and complete. • UML addresses the specification of all the important analysis, design, and implementation decisions made in developing and deploying a software system.
UML is for documenting • UML addresses the documentation of a systems architecture and all of its details.
UML is a language • UML is a visual language for software blueprints • with a vocabulary and rules for communication; • and a focus on conceptual and physical representations.
UML Models, Views and Diagrams • A diagram is a view into a model • presented from the aspect of a particular stakeholder • and provides a partial representation of the system
logical physical UML Views vocabulary functionality system assembly configuration management Implementa-tion view Design view Use Case view behaviour Interaction view Deployment view performance scalability throughput system topology distribution delivery installation
Structure diagram Class diagram Object diagram Component diagram Composite structure diagram Deployment diagram Artifact diagram Behaviour diagram Use Case diagram Sequence diagram Communication diagram State diagram Activity diagram UML Diagrams
UML: what we will cover • Use case diagrams • Documenting the system’s behaviour from the user’s viewpoint, requirements capture • Activity diagrams • Describing the sequencing of activities with support for both conditional and parallel behaviour • Class diagrams • Describing the type of objects in a system and the static relationships between them
UML steps • Examine the necessities of the information system use cases & use case text with flow description by activity diagram Use Case Diagram & Activity Diagram UML1 • Object-oriented domain analysis decomposition of the problem field in concepts, attributes and associations that may be of relevance to the information system Class Diagram (including Object Diagram) UML2
Activity Diagram: what is it? • Describes activities and flows of data or decisions between activities • Provides a very broad view of business processes • Can be used to break out the activities that occur within a use case • Good for showing parallel threads
Activity Diagram: what is it? • Describes activities and flows of data or decisions between activities • Can be used to break out the activities that occur within a use case
Activity Diagram: when to use it? • When describing work flow across many use cases • When analysing a use case, and assigning scenario’s • When dealing with multi-threaded applications
Action State • In a conceptual diagram an activity is a task that needs to be done – either by a human or a computer • In a specification-perspective diagram or an implementation-diagram, an activity is a method on a class
Sequential Branching A sequential branch is represented as a diamond • It may have one incoming transition and two or more outgoing transitions • Guards are associated with each transition
Forking and Joining • Concurrent activities within an activity diagram are modelled with the use of synchronised bars • Joins and Forks should balance
Exercise1 Activity Diagram Make an activity diagram of the following situation: At a course administration department a student makes a request for registering a course. Prior to an actual registration, the foreknowledge of the student is checked. Concurrent, there is a check whether the course is full or not. If the foreknowledge of the student is ok, there is a registration if possible. Otherwise, the possibilities for a special regulation will be explored. Is a special regulation possible, there is a registration too (if possible).
The activities of an activity diagram may be performed by different groups. Each zone or lane represents the responsibilities of a particular group. Swim lanes
Exercise2 Activity Diagram Make an activity diagram including swimlanes of the following situation: A client places an order for a product at a company. The sales department will process the order and subsequently the stockroom assembles the ordered goods and dispatches the order. As a result of the order and after the message of the stockroom that the order is dispatched, a receipt and an invoice are sending parallel to the client. The sales department prepares the invoice. If, subsequently, the client has paid the invoice, the sales department completes the order.
Key point • Activity diagrams are useful for • Business Process Redesign • Work Flow Modeling • Analysing Use Cases
NS Ticket service Destination • Make an activity diagram for the actor ‘Traveller’. • Describe an use case. Single / Retour No Reduction / 40% reduction 2e class / 1e class Take ticket