Bouwkundige Informatiesystemen ADMS 2004 UML part 1 Jan Dijkstra - 2 augustus 2004.

Slides:



Advertisements
Similar presentations
UML Use Case Diagram / Use Case Text / Activity Diagram
Advertisements

CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
7M701 1 Information Systems Modelling and Design with.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
CS3773 Software Engineering Lecture 03 UML Use Cases.
7M701 1 Activity Diagram. 7M701 2 Example 7M701 3 Activity Diagram: what is it? Describes activities and flows of data or decisions between activities.
Object-Oriented Analysis and Design
Bouwkundige Informatiesystemen ADMS 2006 UML part 1 Jan Dijkstra - 25 september 2006 ADMS-BIS.
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
Use-case Modeling.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
Software Engineering General Project Management Software Requirements
Class Diagram & Object Diagram
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Use Case Modelling.
ADMS-BIS Bouwkundige Informatiesystemen ADMS 2006 UML part 1 Jan Dijkstra - 9 oktober 2006 ADMS-BIS.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Software Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
7M822 UML Activity Diagrams 6 October 2008.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
© Copyright Eliyahu Brutman Programming Techniques Course.
7M822 UML Interaction Diagrams 25 November 2010.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
UFCEPM-15-M Object-oriented Design and Programming Jin Sa.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
7M822 UML Sequence Diagrams 5 October 2009.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Chapter 3 Software Processes.
USE Case Model.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML (Unified Modeling Language)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
1 Software Requirements Descriptions and specifications of a system.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Object-Orientated Analysis, Design and Programming
Unified Modeling Language
Software Design Lecture : 15.
Presentation transcript:

Bouwkundige Informatiesystemen ADMS 2004 UML part 1 Jan Dijkstra - 2 augustus 2004

Subjects

Software Engineering Sommerville, Ian (2001) Software Engineering, 6 th edition Ch.1-3, 5

What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software production Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available

What is the difference between software engineering and system engineering? System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this process System engineers are involved in system specification, architectural design, integration and deployment

What is software? Computer programs and associated documentation Software products may be developed for a particular customer or may be developed for a general market

The software process A structured set of activities required to develop a software system Generic activities in all software processes are: –Specification –Design –Validation –Evolution

Generic software process models The waterfall model –Separate and distinct phases of specification and development Evolutionary development –Specification and development are interleaved

Waterfall model

Waterfall model problems Inflexible partitioning of the project into distinct stages This makes it difficult to respond to changing customer requirements Therefore, this model is only appropriate when the requirements are well-understood

Evolutionary development Exploratory development –Objective is to work with customers and to evolve a final system from an initial outline specification. Should start with well-understood requirements Throw-away prototyping –Objective is to understand the system requirements. Should start with poorly understood requirements

Evolutionary development

Problems –Lack of process visibility –Systems are often poorly structured –Special skills (e.g. in languages for rapid prototyping) may be required Applicability –For small or medium-size interactive systems –For parts of large systems (e.g. the user interface) –For short-lifetime systems

Incremental development

Software Requirements Descriptions and specifications of a system

Functional and non-functional requirements Functional requirements Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. Non-functional requirements constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.

Functional requirements Describe functionality or system services Depend on the type of software, expected users and the type of system where the software is used Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail

Non-functional classifications Product requirements Requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc. Organisational requirements Requirements which are a consequence of organisational policies and procedures e.g. process standards used, implementation requirements, etc. External requirements Requirements which arise from factors which are external to the system and its development process e.g. interoperability requirements, legislative requirements, etc.

Requirements and design In principle, requirements should state what the system should do and the design should describe how it does this In practice, requirements and design are inseparable –A system architecture may be designed to structure the requirements –The system may inter-operate with other systems that generate design requirements –The use of a specific design may be a domain requirement

UML General

Study Matter Books Fowler & Scott: UML distilled 2nd ed Fowler & Scott: UML beknopt Booch, Rumbauch & Jacobson: The Unified Modeling Language – User Guide Sander Hoogendoorn: Pragmatisch modelleren met UML 2.0 Leffingwell & Widrig: Managing Sofdtware Requirements – a use case approach Web

About UML 1 of 2 UML is the successor to the wave of object- oriented analysis and design (OOA&D) methods. The methods of Booch, Rumbaugh and Jacobson (de 3 amigo’s) are merged. UML represents the culmination of best practices in practical object- oriented modelling. 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.

About UML 2 of 2 UML is a modelling language, a notation used to express and document designs. UML proposes a standard for technical exchange of models and designs. UML also defines a “meta-model”, a diagram that defines the syntax of the UML notation

UML Model Views Use Case Modelling –Requirements Use Case diagrams Structural Modelling –Static structure diagrams Class diagrams Object diagrams Behaviour Modelling –State diagrams –Interaction diagrams Sequence diagrams Collaboration diagrams –Activity diagrams Implementation diagrams

UML: what we will cover Use case diagrams –Documenting the system’s behaviour from the user’s viewpoint, requirements capture Class diagrams –Describing the type of objects in a system and the static relationships between them Activity diagrams –Describing the sequencing of activities with support for both conditional and parallel behaviour

UML steps 1.Examine the necessities of the information system  use cases 2.Object-oriented domain analysis  decomposition of the problem field in concepts, attributes and associations that may be of relevance to the information system

Use Case Modelling

Use Case Diagram Example

Use Case Modelling A use case is a modelling technique used to describe what a new system should do or what an existing system already does. System developers and customers/end-users discuss a use case model. In an iterative process, this lead to a requirement specification on which all agree. A use case diagram describes the interaction between a set of use cases and the actors involved in these use cases.

Use Case definition Fowler: A use case is a typical interaction that a user has with a system in order to achieve some goals. A use case is a description of a set of sequence of actions, including variants, that a system performs to yield an observable result of value to an actor. Cockburn: A use case describes a system’s behavior.

Actor An actor is someone or something that interacts with the system. It is who or what uses the system. An actor communicates with the system by sending and receiving messages. An actor is a role that a user plays with respect to the system. Actors – what exists outside the system (Rumbaugh) [external “participants”/”roles”]

Use cases A use-case is a set of sequences of actions a system performs that yield an observable result of value to a particular actor. A use-case describes a requirement for the system, that is, what it should do, but not how it should do it. A use-case is a set of scenarios tied together by a common user goal.

Use Case Diagram Example

Example Date2date : Basic UCD Ontleend aan Sander Hoogendoorn

Example Date2date : Secondary UCD Ontleend aan Sander Hoogendoorn

Scenario A scenario is a sequence of steps describing an interaction between a user and a system. –A scenario is an instance of a use-case. –A scenario describes a possible interaction with the system.

Scenario Example Consider a Web-based on-line store, we might have a ‘Buy a Product’ scenario that would say this : The customer browses the catalogue and adds desired items to the shopping basket. When the customer describes the shipping and credit card information and confirms the sale. The system checks the authorization on the credit card and confirms he sale both immediately and with a follow-up mail.

Example of a Use Case Text

Example Date2date : use case text Ontleend aan Sander Hoogendoorn

Example Date2date : use case text with scenario’s Ontleend aan Sander Hoogendoorn

Template of an Use Case Text

Steps 1.Define the system boundaries 2.Define actors 3.Define use cases 4.Define scenario’s 5.Describe each use case 6.Identify communal sub-cases

Use Case relationships Generalization Include relation Extend relation

Generalization Generalization is used when there is one use case similar to another. Inheriting parent behaviour, adding and overriding with the child’s behaviour. Sub use case inherits behaviour and semantics from super use cases.

Use Case Diagram Example

Example Date2date : Generalization Ontleend aan Sander Hoogendoorn

Example Date2date : Include Ontleend aan Sander Hoogendoorn

Include / Uses Uses / Include : this relationship is used when there is a common chunck of behaviour across more than one use case. Base use case includes the functionality of included use case.

Use Case Diagram Example

Extend Extend : is similar to genralization but is used to add behaviour to the base use case at certain extension points. A use case is optionally extended by functionality of another use case.

Example Date2date : Extend Ontleend aan Sander Hoogendoorn

Relationships between use cases

Example Date2date : System boundary & Secondary actor Ontleend aan Sander Hoogendoorn

Short Summary

What is Use Case modeling? Use Case model: a view of a system that emphasizes the behavior as it appears to outside users. A use case model partitions system functionality into transactions(“use cases’) that are meaningful to users (‘actors’) A Use Case Diagram visualizes a use case model.

Core Elements

Core Relationships

Use Case Diagram : Example

NS Ticket service Define a use case diagram of ‘NS Ticket service’ Describe an use case. Take ticket Destination

Use Case diagram ‘NS Ticket service’

Use CaseBuy OV Ticket Actors Traveller Preconditions Traveller has a valid pass Description 1.Ticket device expects destination code 2.Traveller enters destination code 3.Extension point: NS ticket 4.Ticket device checks code and calculates the charge. Shows destination code & fare. Activates ticket machine for paying 5.Traveller pays (use case: Pay ticket) 6.Ticket device print and supplies ticket 7.Traveller takes ticket Extension Destination code = NS station. 3a. Ticket device expects ticket type 3b. Traveller enters Single/Return, Discount Y/N, Class Exceptions Traveller interrupt the interaction or walk away Traveller enters an incorrect destination code Payment is not finished off successful Result Traveller has ticket. (NS can look forward to the payment)

Exercise UCD Starting point is the MKW casus Make a Use Case Diagram of the MKW system and describe the use cases with an use case text.