Science and Technology Norwegian University of NTNU Rolv Bræk, January 2007 1 Domain Modelling and requirement specifications by Rolv Bræk NTNU.

Slides:



Advertisements
Similar presentations
1 Getting Service Engineering Right UML 2 in a nushell Based on a paper by Birger Møller-Pedersen, Øystein Haugen, Thomas Weigert.
Advertisements

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
CS3773 Software Engineering Lecture 03 UML Use Cases.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Lecture 4 Class Responsibility Collaboration Cards
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to System Requirements Lecture 2 Use-Cases.
Software Requirements
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
© Copyright Eliyahu Brutman Programming Techniques Course.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Object Oriented Analysis and Design Using the UML
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CS 4310: Software Engineering Lecture 3 Requirements and Design.
TDT4252/DT8802 Exam 2013 Guidelines to answers
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
An Introduction to Software Architecture
©Ian Sommerville Software Engineering Slide 1 Software Requirements l Definition: Description and Specifications of a system l Topics covered: Functional.
SelfCon Foil no 1 Self configurating systems - a starter Rolv Bræk, Item.
FDT Foil no 1 Overall Methodology – from Engineering RT Systems through TIMe; to RAM. Covering the full development cycle Supporting the whole company.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Science and Technology Norwegian University of NTNU Rolv Bræk, March Systems and Service Engineering Domain Modelling (textbook ch 3 ++) Rolv Bræk.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
SDL as an Object Oriented Language Lecture 6 Huma Ayub Software Engineering Department 1.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
IHE Profile – SOA Analysis: In Progress Update Brian McIndoe January 18, 2011.
Requirements Engineering Overview Senior Design Don Evans.
FDT Foil no 1 Overall Methodology – from Engineering RT Systems through TIMe; to RAM. Covering the full development cycle Supporting the whole company.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
FDT Foil no 1 MSC Structuring MSCs Using Message Sequence Charts for real systems.
Science and Technology Norwegian University of NTNU Rolv Bræk, January Introduction to Systems Engineering by Rolv Bræk NTNU.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
Chapter 4 – Requirements Engineering Lecture 1 The hardest part of the software task is arriving at a complete and consistent specification, and much of.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Software Requirements Descriptions and specifications of a system.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Logical Database Design and the Rational Model
UML Diagrams By Daniel Damaris Novarianto S..
UNIT 1.
Chapter 4 – Requirements Engineering
Chapter 4 – Requirements Engineering
OO Domain Modeling With UML Class Diagrams and CRC Cards
UML Diagrams Jung Woo.
Abstract descriptions of systems whose requirements are being analysed
The Object Oriented Approach to Design
CS310 Software Engineering Dr.Doaa Sami
CS 425 Software Engineering
Presentation transcript:

Science and Technology Norwegian University of NTNU Rolv Bræk, January Domain Modelling and requirement specifications by Rolv Bræk NTNU

Science and Technology Norwegian University of NTNU Rolv Bræk, January The systems engineering cycle/spiral Domain System models Develop Install System Manufacture Domain models Model has needs quality = satisfaction of needs

Science and Technology Norwegian University of NTNU Rolv Bræk, January Why make domain models? 1.to understand the (problem) domain 2.to understand the needs and opportunities 3.to improve communication with users, owners and developers 4.to plan better products 5.to facilitate reuse 1.to understand the (problem) domain 2.to understand the needs and opportunities 3.to improve communication with users, owners and developers 4.to plan better products 5.to facilitate reuse A common “language” for all departments: Product planning and marketing Development Engineering, production, sales Customer organizations A common “language” for all departments: Product planning and marketing Development Engineering, production, sales Customer organizations

Science and Technology Norwegian University of NTNU Rolv Bræk, January What are domain models? Object models Property models Dictionary Statement Domain descriptions They model a part of reality that systems may serve. They are not specific to a system, but rather to a market segment. They identify stable domain concepts and processes that need to be supported irrespective of particular system solutions. They model a part of reality that systems may serve. They are not specific to a system, but rather to a market segment. They identify stable domain concepts and processes that need to be supported irrespective of particular system solutions.

Science and Technology Norwegian University of NTNU Rolv Bræk, January How to make domain models Consider the enterprise - to find the real needs (why) and thereby identify the best system opportunities. Object models Property models Dictionary Statement Domain descriptions 1.Make domain statement; identify: owners, users, subjects, helpers, services, workflows and procedures. 2.Make dictionary (Taxonomy of terms, Ontology). 3.Make object models: passive objects and active objects. 4.Make property models: define the services, workflows, procedures. 1.Make domain statement; identify: owners, users, subjects, helpers, services, workflows and procedures. 2.Make dictionary (Taxonomy of terms, Ontology). 3.Make object models: passive objects and active objects. 4.Make property models: define the services, workflows, procedures.

Science and Technology Norwegian University of NTNU Rolv Bræk, January A-rule: Problem Statement Make a statement that explains the problem domain. Focus on the purpose, the essential concepts, the procedures and the rules. e.g.: The main problem of the domain is to control the access of users to access zones. Only a user with known identity and correct access right shall be allowed to enter into an access zone. Other users shall be denied access. The authentication of a user shall be established by means of a magnetic strip card holding a card code, and a secret Personal Identification Number, PIN, known by the user. The authorization is performed on the basis of the user identity, and access rights associated with the user. When a user is authenticated and authorized the access zone may be entered through a door....

Science and Technology Norwegian University of NTNU Rolv Bræk, January A-rule: Dictionary Make or obtain a dictionary for the problem domain. The dictionary should be kept updated throughout the development. e.g.: Access PointA point of access in one direction through a door. Access ZoneA physical zone where users are present, accessible through doors. AuthenticationTo establish the identity of a user. AuthorizationTo establish the right of a user to enter an access zone CardA personal identification means. CardcodeA unique identification of a card stored in machine readable form on the card. DoorA controlled passage from one access zone to another...

Science and Technology Norwegian University of NTNU Rolv Bræk, January Make static object models (concept models) of the problem domain using UML diagrams, SOON or similar. A-rule: Domain Object Models zone door Passive objects (subjects) group legal user member of has access to consist of 1..* 1 Authenticator Authorizer User Card Operator Door Active objects

Science and Technology Norwegian University of NTNU Rolv Bræk, January and emphasizes passive objects (subjects) The textbook uses SOON owns : User : Card : Access Point : Access Zone may use may enter EntryControl : Door controls Access control domain,, = (+) ExitControl has

Science and Technology Norwegian University of NTNU Rolv Bræk, January owns : User : Card : Access Point : Access Zone may use may enter EntryControl : Door controls Access control domain,, = (+) ExitControl has … you may now use UML 2.0 composite classes az[k]: AccessZone ap[m]: AccessPoint u[n]: User c[n]: Card d[l]: Door Access Control Domain SOON model part structures As do Composite Classes in UML2.0

Science and Technology Norwegian University of NTNU Rolv Bræk, January …and UML2.0 Class diagrams UML class diagrams model classes/types NOT parts! owns : User : Card : Access Point : Access Zone may use may enter EntryControl : Door controls Access control domain,, = (+) ExitControl has AccessZone AccessPoint Door Card User * * 0..2 may use owns * 1 1 controls has 1..* 1 1 EntryControl 1 ExitControl may enter

Science and Technology Norwegian University of NTNU Rolv Bræk, January Make domain models for a Hospital Ward (sengepost) 1.Passive objects: Patients, Nurses, Doctors, Rooms, Beds, Patient Journals,… 2.Active objects: Patients, Nurses, Doctors, Patient Journals, Terminals, … 3.Services: Log on/off Mark available/unavailable Show location Call assistance

Science and Technology Norwegian University of NTNU Rolv Bræk, January UML 2.0 collaborations to model role structures related to services and interfaces to specify role properties to specify behaviour properties using sequence diagrams, activity diagrams and/or state machines to define Use Cases in a useful way to define interfaces behaviour and semantic interfaces a:Authenticator b:Authorizer u:User d:Door User Access Classifier Role: specify properties of compatible classes

Science and Technology Norwegian University of NTNU Rolv Bræk, January Collaboration diagrams Service roleA:TypeA roleC:TypeC roleB:TypeB session1: Session session2: Session session3: Session roleX roleY roleX roleY roleX roleY A collaboration with three roles and three collaboration uses: may define a service structure Session roleX:TypeX roleY:TypeY A collaboration with two roles: may define a semantic connector TypeA must be compatible with (the semantic interface) TypeX Compatibility means that the role behaviours must be contained in the total behaviour of the actor – how is a semantic variation point in UML2

Science and Technology Norwegian University of NTNU Rolv Bræk, January Behaviour can be in three places: The collaboration itself The roles The context (scope) of the collaboration: Service roleA:typeA roleC:typeC roleB:typeB session1: Session session2: Session session3: Session roleXroleY roleX roleY roleX roleY sd

Science and Technology Norwegian University of NTNU Rolv Bræk, January Domain Property Models Non-functional and functional properties. Functional properties model domain behaviour, i.e.: services; workflows; procedures. UML 2.0 Collaborations are well suited: Role structures – for properties of active objects. Collaboration behaviour – for services, workflows and procedures. Authenticator Authorizer User Door User Access

Science and Technology Norwegian University of NTNU Rolv Bræk, January Service User Access UserAccess example User Access: –A user enters his personal code, PIN –The authenticator checks the card id and the PIN –The authorizer checks the access right of the user –If OK the door is opened –If NOK no action MSC UserAccess_Granted User AuthorizerAuthenticator Door Card id Enter PIN Givepin [PIN] Authorize[userid] Open_Lock Enter Authenticator Authorizer User Door User Access

Science and Technology Norwegian University of NTNU Rolv Bræk, January How to model the service behaviour? A service is an identified (partial) functionality, provided by a system, component, or facility, to serve a purpose (or achieve a goal) for its (usage) environment. Goal state expressions Activity diagrams Sequence diagrams Structure of inner collaboration uses Role state machines

Science and Technology Norwegian University of NTNU Rolv Bræk, January Activity diagram (or sequence overview diagram) Phases (features) of the service as activities with goal expressions

Science and Technology Norwegian University of NTNU Rolv Bræk, January with corresponding sequence diagram Features (phases) as referenced diagrams

Science and Technology Norwegian University of NTNU Rolv Bræk, January Decomposing into collaboration uses corresponding to features (phases) note that the ordering follows from the behaviour diagrams here

Science and Technology Norwegian University of NTNU Rolv Bræk, January Requirement specification Specifies Properties that must be satisfied by a system or system component. Defines: The system boundary, and the environment (what parts of the domain are provided and supported). The functional requirements: the system interfaces and services, i.e. the behaviour properties visible to the environment. The non-functional requirements: constraints on the implementation of the system.

Science and Technology Norwegian University of NTNU Rolv Bræk, January Requirements and architecture Requirements are not designs – avoid overspecification Requirements need some minimal structure to be precise A-rule: Sketch system structure Sketch the system structure using SOON or similar notations. Identify the parts that are subject to requirements. Avoid to describe more than required. “… for the foreseeable future, each attempt to study telecommunication requirements will have a specific architecture as its formal framework.” Pamela Zave; Feature Disambiguation. Feature Interactions in Telecommunications and Software Systems. D.Amyot, L. Logrippo (Eds) IOS Press 2003

Science and Technology Norwegian University of NTNU Rolv Bræk, January Functionality reference model A classification of objects in the environment and the system; used to structure functional requirements and design; supporting separation of concerns, reuse and flexibility. A classification of objects in the environment and the system; used to structure functional requirements and design; supporting separation of concerns, reuse and flexibility. Interface given System given Domain given Users Other systems Controlled processes Known entities Environment System Service providing Service needing

Science and Technology Norwegian University of NTNU Rolv Bræk, January Functional requirements (properties) Define the context (the system boundary and environment) Identify (functional) interfaces and interface layers Identify domain given objects inside and outside the system Define interfaces and their behaviour properties Define services and their behaviour properties Define the context (the system boundary and environment) Identify (functional) interfaces and interface layers Identify domain given objects inside and outside the system Define interfaces and their behaviour properties Define services and their behaviour properties Interface given System given Domain given Human users Other systems Controlled processes Subjects Environment System Service providing Service needing

Science and Technology Norwegian University of NTNU Rolv Bræk, January A-rule: Context Make a context diagram where the system is identified and the system environment is detailed. Describe communication interfaces and other relations the system shall handle.

Science and Technology Norwegian University of NTNU Rolv Bræk, January Subject Access Control System The AC system: Context with domain given objects Authorizer Authenticator User Operator Door Card Access Zone Controlled process Human user Subject

Science and Technology Norwegian University of NTNU Rolv Bræk, January Subject Interface given Access Control System … adding interface given objects Authorizer Authenticator User Operator Door Panel Operator Terminal Card Access Zone Controlled process Human user Subject Domain given Interface given Domain given Door Controller Interface given

Science and Technology Norwegian University of NTNU Rolv Bræk, January Subject Interface given Access Control System … and possibly agents mirroring the environment Authorizer Authenticator User Operator Door Panel Operator Terminal Card Access Zone Controlled process Human user Subject Domain given Interface given Domain given Door Controller Interface given User Agent Operator Agent System given These are all very generic and stable

Science and Technology Norwegian University of NTNU Rolv Bræk, January Interface behaviour A-rule: Interface Collaborations (new) Use collaborations to structure interface definitions. A-rule: Message Sequence Charts Make message sequence charts that describe the typical interaction sequences (protocols) at each layer of the interfaces. p:Panel u:User PanelInterface PanelUser Code OK Push door MSC User_accepted

Science and Technology Norwegian University of NTNU Rolv Bræk, January Role behaviours and Semantic Interfaces A-rule: Role behaviour Define the interface behaviour of each role in the system and in the environment. Use the roles as basis for behaviour synthesis and validation. A-rule: Semantic Interfaces (new) Use collaborations to structure and define semantic interfaces. p:Panel u:User PanelInterface

Science and Technology Norwegian University of NTNU Rolv Bræk, January Service behaviour A-rule: Service separation (new) Use layering to separate service behaviour from interface given behaviour A-rule: Service Collaborations (new) Use collaborations to structure service definitions. a:Authenticator b:Authorizer u:User d:Door User Access ua:UserAgent The system structure helps to identify service roles Services may need roles provided by additional system objects – to be determined during design

Science and Technology Norwegian University of NTNU Rolv Bræk, January Panel Interface Access Control System Binding collaboration roles Authorizer Authenticator User Operator Door Panel Operator Terminal Card Access Zone Door Controller User Agent Operator Agent User Access u p u ua a b d design objects shall be compatible with the roles cf the role-play principle

Science and Technology Norwegian University of NTNU Rolv Bræk, January Model organization Object Models Class X Service-A MSC Text Service-A Plays role of Property Models... Service-B MSC Text Service-B Plays role of r2 r3 r1 r2 r3 r1