Requirement Modelling with UML Use Case

Slides:



Advertisements
Liknande presentationer
1.Numerical differentiation and quadrature Discrete differentiation and integration Ordinary.
Advertisements

Vägledningscentrum Career guidance centre
För att uppdatera sidfotstexten, gå till menyfliken: Infoga | Sidhuvud och sidfot Fondbolagsträff 2015.
Exempelbaserade specifikationer med SpecFlow
Skriftlig individuell uppgift Interaktionsdesign i digitala medier (A.1) HT-2012, 7,5 hp Lärare: Daniel Nylén.
System arbetssystem informationssystem
Samordning inom EU Statusrapport från arbetet inom EUs Expert Grupp för elektroniska fakturor Leif Karlsson Chef Betalningar.
Arkitektrollen. Ansvar och uppgifter Architecture notebook Mycket intensivt elaboration – inception Mål: en stabil arkitektur i slutet på elaboration.
DIS 9001:2008 Vilka förändringar kommer i nya standarden Gabriel Bosaeus.
 Who frågar efter en persons (eller personers) identitet (vem dem är).  Who is he?  Who are they?  Who is coming?
To practise speaking English for 3-4 minutes Genom undervisningen i ämnet engelska ska eleverna ges förutsättningar att utveckla sin förmåga att: formulera.
© Gunnar Wettergren1 IV1021 Project models Gunnar Wettergren
Learning study som aktionsforskningsprocess: Lärares och elevers parallella lärande.
1-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-1 Programmering 7.5 hp Programmering är... creativ, fascinerande, roligt,
Shannon dekomposition
Från idéer till framgångsrika företag Jonas Wiklander 1 Entrepreneurs, Mentorship Almi Företagspartner Business coach, and Creativity
Don´t just try! Do! Emma Nääs
Lab Contact 1  Lab Assistants:  Meng Liu, Group B  Sara Abbaspour, Group A
How To Use PowerPoint A Brief Introduction to Commonly Used Features By Ryan McKenzie.
Gränsöverskridande samarbete över fjäll och hav Min ansökan.
Skolledardagen Platsen var Birger Jarl i Stockholm Jag var där och Eva-Lis Sirén Men även Ann-Marie Begler, GD Skolinspektionen Hennes råd till.
THINGS TO CONSIDER WHILE PLANNING A PARTY Planning an event can take an immense amount of time and planning. Even then, the biggest problem that arises.
STEPS TO FOLLOW FOR BECOMING A SHIP CAPTAIN A career as a ship captain can be a tedious task. Ship captains take care of business, navigation and operation.
SAFETY EQUIPMENT USED IN MARITIMEOPERATIONS One of the most important sections in maritime courses consists of boat and ship operations. Safety is an important.
Advice from Bronx Best Real Estate Attorney. Jagiani Law office of New York has been successfully working as divorce attorney & Real estate attorney for.
Digitization and Management Consulting
Why you should consider hiring a real estate attorney!
Law abiding grounds of filing a divorce Jagianilaw.com.
Types of Business Consulting Services Cornerstoneorg.com.
Tennis as they see it Research on attitudes to tennis of junior tennis players through gender perspective.
Informationssäkerhet
Bringapillow.com. Online Dating- A great way to find your love! The words ‘Love’ and ‘Relationship’ are close to every heart. Indeed, they are beautiful!
Work of a Family law attorney Jagianilaw.com. A Family Law Attorney basically covers a wide range spectrum of issues that a family may face with difficulty.
The Online Way to Engagement and Wedding Jewelry! Pearlleady.com.
Positioning CM responsibilities in the organisation
Course info.
Meeting singles had never been so easy before. The growing dating sites for singles have given a totally new approach to getting into relationships. ‘Singles.
Hoppas det här går hem ! Bildspelet vecka 3 5 BE ® BrucElvis
Waste management on export
Strategic Sustainable Development
Formal Languages, Automata and Models of Computation
My role model.
Role of Divorce, Family Law and Commercial Attorneys.
Svarsfrekvensen i undersökningar från webbpaneler. Några resultat
Pearlleady.com Attractive Graduation and Wedding Gifts Online.
How to Buy Engagement Rings for Women Online?. Buying engagement rings for women or tiffany celebration rings from the online market could be a bit challenging.
Amazing Wedding/Bridal Jewellery & Gifts Available Online Pearlleady.com.
You Must Take Marriage Advice to Stop Divorce! Dontgetdivorced.com.
Vad gör jag om jag vill forska med SPORs data?
A perfect world An English project.
Viveka Palm Deputy Director Regions and Environment, Statistics Sweden
Vattenfalls Idrotts- & Fritidsförbund
Season 2018.
Xxx skolans/universitetsförvaltningens miljöledningssystem Möte ÅÅMMDD
Accounts + SD = ♥? SD indicators generated from an integrated statistical account New report financed by Eurostat, DG Environment and Statistics Sweden.
Bild 1: En allmän öppningsbild som kan användas på lite olika sätt,
Titel på projektet Title of the project
Applying Analysis Patterns
Applying Analysis Patterns
Publish your presentations online we present SLIDEPLAYER.SI.
Publish your presentations online we present SLIDEPLAYER.RS.
Publish your presentations online we present SLIDEPLAYER.IN.
Publish your presentations online we present SLIDEPLAYER.VN.
Publish your presentations online we present SLIDEPLAYER.RO.
Publish your presentations online we present SLIDEPLAYER.EE.
Publish your presentations online we present SLIDEPLAYER.CO.IL.
Publish your presentations online we present SLIDEPLAYER.AE.
Publish your presentations online we present SLIDEPLAYER.BG.
Presentationens avskrift:

Requirement Modelling with UML Use Case Erik Perjons

Questions to answer What is requirement engineering? Why is requirement engineering important? How can you use models to support requirement engineering?

Requirements and Models

Real World and Models Business process model of business activities (in UML Activity diagram) Domain model of business concepts (in UML Class diagram) Human interaction with software systam (in UML Use cases) Interaction between software objekts (in UML Sequence diagram) System model of software objects (in UML Class diagram) Nu har vi lagt till ytterligare en del, till höger i bilden. Vi kallar den delen för grafiska modeller/diagram, medan den vänstra delen benämns ”verkligheten”. Notera än en gång att är det vi ser till vänster är en slags modell av verkligheten, men för resonemangets skull ska vi alltså tänka oss att det är verkligheten. Till höger ser vi modeller eller diagram av det som finns i verkligheten. Man bruka säga att dessa modeller/diagram ska representera eller avbilda företeelser i verkligheten. Modellerna/diagrammen till höger är skapade i modelleringsspråket UML. Enligt UML:s specifikation är det olika diagram och inte modeller som vi ser till höger i bilden. Dessa diagram skapar tillsammans en modell av det vi vill representera. De olika diagrammen ger med andra olika aspekter eller perspektiv på modellen. Notera dock att olika författare har olika syn på relationen mellan modell och diagram. Hos en del författare används modell, eller snarare grafisk modell, och diagram som synonymer. Notera också att en modell behöver inte vara grafisk, den kan till exempel formuleras i textform eller som en formel. Om vi då tittar på den högra delen av bilden kan vi notera följande: - på övre nivån finns aktivitetsdiagram för att modellera verksamhetsprocesser, sekvensdiagram för att modellera kommunikation mellan människor och i klassdiagram för att modellera verksamhetsbegrepp, det vill säga de begrepp som används i verksamheten när människor kommunicerar muntligt eller genom att skicka dokument, - på mellersta nivån finns användningsfallsdiagram för att modellera interaktionen mellan människor och datorer, - på undre nivån finns aktivitetsdiagram för att modellera mjuk- och hårdvaruprocesser i datorsystem, sekvensdiagram för att modellera kommunikation inom och mellan mjukvara såväl som för hårdvara, och klassdiagram för att modellera de informationselement som används av datorer. Som vi ser kan några typer av UML-diagram användas på fler än en nivå, till exempel används klassdiagram, aktivitetsdiagram och sekvensdiagram både på den övre och nedre nivån. The real world Graphical models/diagram

Requirement Engineering (in Real World) Business process model of business activities (in UML Activity diagram) Domain model of business concepts (in UML Class diagram) Human interaction with software systam (in UML Use cases) Interaction between software objekts (in UML Sequence diagram) System model of software objects (in UML Class diagram) Nu har vi lagt till ytterligare en del, till höger i bilden. Vi kallar den delen för grafiska modeller/diagram, medan den vänstra delen benämns ”verkligheten”. Notera än en gång att är det vi ser till vänster är en slags modell av verkligheten, men för resonemangets skull ska vi alltså tänka oss att det är verkligheten. Till höger ser vi modeller eller diagram av det som finns i verkligheten. Man bruka säga att dessa modeller/diagram ska representera eller avbilda företeelser i verkligheten. Modellerna/diagrammen till höger är skapade i modelleringsspråket UML. Enligt UML:s specifikation är det olika diagram och inte modeller som vi ser till höger i bilden. Dessa diagram skapar tillsammans en modell av det vi vill representera. De olika diagrammen ger med andra olika aspekter eller perspektiv på modellen. Notera dock att olika författare har olika syn på relationen mellan modell och diagram. Hos en del författare används modell, eller snarare grafisk modell, och diagram som synonymer. Notera också att en modell behöver inte vara grafisk, den kan till exempel formuleras i textform eller som en formel. Om vi då tittar på den högra delen av bilden kan vi notera följande: - på övre nivån finns aktivitetsdiagram för att modellera verksamhetsprocesser, sekvensdiagram för att modellera kommunikation mellan människor och i klassdiagram för att modellera verksamhetsbegrepp, det vill säga de begrepp som används i verksamheten när människor kommunicerar muntligt eller genom att skicka dokument, - på mellersta nivån finns användningsfallsdiagram för att modellera interaktionen mellan människor och datorer, - på undre nivån finns aktivitetsdiagram för att modellera mjuk- och hårdvaruprocesser i datorsystem, sekvensdiagram för att modellera kommunikation inom och mellan mjukvara såväl som för hårdvara, och klassdiagram för att modellera de informationselement som används av datorer. Som vi ser kan några typer av UML-diagram användas på fler än en nivå, till exempel används klassdiagram, aktivitetsdiagram och sekvensdiagram både på den övre och nedre nivån. The real world Graphical models/diagram

Requirement Engineering Models Business process model of business activities (in UML Activity diagram) Domain model of business concepts (in UML Class diagram) Human interaction with software systam (in UML Use cases) Interaction between software objekts (in UML Sequence diagram) System model of software objects (in UML Class diagram) Nu har vi lagt till ytterligare en del, till höger i bilden. Vi kallar den delen för grafiska modeller/diagram, medan den vänstra delen benämns ”verkligheten”. Notera än en gång att är det vi ser till vänster är en slags modell av verkligheten, men för resonemangets skull ska vi alltså tänka oss att det är verkligheten. Till höger ser vi modeller eller diagram av det som finns i verkligheten. Man bruka säga att dessa modeller/diagram ska representera eller avbilda företeelser i verkligheten. Modellerna/diagrammen till höger är skapade i modelleringsspråket UML. Enligt UML:s specifikation är det olika diagram och inte modeller som vi ser till höger i bilden. Dessa diagram skapar tillsammans en modell av det vi vill representera. De olika diagrammen ger med andra olika aspekter eller perspektiv på modellen. Notera dock att olika författare har olika syn på relationen mellan modell och diagram. Hos en del författare används modell, eller snarare grafisk modell, och diagram som synonymer. Notera också att en modell behöver inte vara grafisk, den kan till exempel formuleras i textform eller som en formel. Om vi då tittar på den högra delen av bilden kan vi notera följande: - på övre nivån finns aktivitetsdiagram för att modellera verksamhetsprocesser, sekvensdiagram för att modellera kommunikation mellan människor och i klassdiagram för att modellera verksamhetsbegrepp, det vill säga de begrepp som används i verksamheten när människor kommunicerar muntligt eller genom att skicka dokument, - på mellersta nivån finns användningsfallsdiagram för att modellera interaktionen mellan människor och datorer, - på undre nivån finns aktivitetsdiagram för att modellera mjuk- och hårdvaruprocesser i datorsystem, sekvensdiagram för att modellera kommunikation inom och mellan mjukvara såväl som för hårdvara, och klassdiagram för att modellera de informationselement som används av datorer. Som vi ser kan några typer av UML-diagram användas på fler än en nivå, till exempel används klassdiagram, aktivitetsdiagram och sekvensdiagram både på den övre och nedre nivån. The real world Graphical models/diagram

Requirement Engineering (in the Real World)

Requirement Engineering Requirement Engineering - is the process of gathering, defining, organizing, prioritizing, documenting, quality assuring and maintaining requirements

Requirement Requirement - is a desirable property/feature/attribute/quality/capacity of a system

Functional and Non-Functional Requirements Requirements can be categorized into functional and non-functional requirements

Functional Requirements A functional requirement – is a function that a system should (or must/could) perform A functional requirement is performed at the active request of a user, that is, the user actively performs an action to trigger a function, such as, write a text, select an option and/or click on a button A functional requirement describes ”what” a system should do

Functional Requirements Examples of functional requirements: The system should - register an order The system should - register a new customer The system should - find a customer (when searching after a registered customer in the system)

Non-functional Requirement A non-functional requirement – is a requirement of how a system should perform the functions of the system A non-functional requirement describes how a system will work for users regardless of users' active requests during system usage A non-functional requirement impacts the system performance, reliability, usability, security, platform constraints, etc

Non-functional Requirement Examples of non-functional requirements: The system must be able - to handle 100 orders in parallel The system must be able - to integrate with systems in a Microsoft platform

Requirement Specification A requirement specification - is a document specifying the requirements of a system.

Requirement Specification The core of the requirement specification is the description of functional and non-functional requirements Usually the requirement specification also describe the context of the requirements, for example, which business problems or business processes should be supported by the system

Requirement Specification and Models The requirement specification can consist of only text, only models or both text and models: Functional requirements - can be listed in form of text or as a combination of diagram and text (e.g. UML Use Case Diagram and Use Case Description) Non-functional requirements - are often described in text The context of the requitements - can be be described in form of text and/or models, e.g. business process models

Techniques for eliciting requirements Use case modeling – is a technique used to describe a system by describing 1) which functions the system exists of (presented in the form of a user diagram) , 2) which user roles can use these functions (presented in the form of a user diagram), and 3) how users and systems interact with each other (presented in the form of use case descriptions) User stories – is a technique that describe how the user is interacting with the system presented as a story (often in text, but could also be as picture (that is, a cartoon like description). User stories is a less formalized technique compared to use case modelling

Techniques for eliciting requirements Personas – is a technique for creating fictional persons / roles of users. These roles are then used for eliciting requirements. Personas is a technique used when the system is planned to be used by a broad and perhaps unknown group of users Workshop – is a technique where a group of people meet to brainstorm ideas and demands on an upcoming system

Techniques for eliciting requirements Prototype – is a technique used to identify an early form or model of the final system in order to visualize the system. The prototype can be used as a basis for identifying requirements for the final system

Tecnique for prioritize among requirements MoSCoW - is an abbreviation for Must, Should, Could and Will not and is the name of a scale, where each requirement is valued by annotating it with one of these terms. The terms have the following meanings: Must - this requirement must be met in order for the project to be successful Should - this requirement should be met but is not necessary for the project to be considered successful. Could - can be omitted, has no impact on the project overall result Will not - These requirements should not be realized in this project, but in the future these may become relevant

Why Requirement Engineering? The major reason for failure in system development is shortcoming in requirement engineering, such as: no requirements have been gathered at all not all users (or other stakeholders) have been involved in the requirement gathering users do not know what they want before they use the system in actual business process instances the requirements are vaguely stated

Why Requirement Engineering? The requirements are central in the development of a system and are often the things that drive the development process

UML Use Case

UML Use Case Diagram Registrer for course Register for exam

UML Use Case Diagram Use Case Actor Registrer for course Register for exam Association

Use Case Description Use case description describe the interaction between a user and the system The look of the use case description is not specified in UML Use case: Registrer for course Actor: Student Goal: Student shall be registered for the course Main scenario: 1) Student wants to see available courses 2) System presents the cources 3) Student chooses a course 4) Systemet confirms registration of the chosen course

Use Case Model Use case model – consists of Use case diagram and Use case descriptions

Guidelines for the Use Case Model Guideline: Create one Use case description for each use case in the Use case diagram Guideline: Use the same name of the use case in the descrption as in the use case diagram

More about Use Case Description Guideline: The main scenario shall be divided into a set of steps, which each need to: start with who is carrying out the step (the actor or the system) be simple and precise statements of what are communicated between the actor and the system Use case: Registrer for course Actor: Student Goal: Student shall be registered for the course Main scenario: 1) Student wants to see available courses 2) System presents the cources 3) Student chooses a course 4) Systemet confirms registration of the chosen course

Managing CRUD functions Create Course CRUD (Create, Read, Update, Delete) – four basic functions can be summarized in a Manage Use Case Manage Course Info Read Course Info Update Course Info Note! Not so good if you want to write use case description – they will be hard to write Delete Course

Questions to answer What is requirement engineering? Why is requirement engineering important? How can you use models to support requirement engineering?

Exercise: Domain Description Zoo International is a company with eight zoos in different European cities. Zoo International has specified an introduction process that all zoos should follow. In order to support the introduction process, Zoo International aims to introduce an information system (IS) supporting the process. As a first step, requirements on the IS have been gathered from different stakeholders. Three of the requirements are as follows: When an animal arrive at a zoo (which is part of Zoo International) the animal needs to be registered in the IS by one of the zoo adminstrators. The following information must then be registered in the information system by the administator: date of registration, name of the animal, spieces, gender, year of birth For each animal arriving at the zoo, one of the zoo veterinarian needs to document information in the IS about the medical status of the animal after carrying out a medical investigation For each animal arriving at the zoo, one of the animal keepers needs to document the result of the meeting between the arrived animal and its ”cage colleagues”

Exercise: Your Task Describe the functional requirements of the information system using UML Use Case Diagram, and make Use Case Descriptions for all the use cases