Unit 3 requirements engineering processes merged

79
1/24/2009 1/24/2009 S.Sreenivasa Rao S.Sreenivasa Rao 1 1 3 3 rd rd Unit Unit Requirements Engineering Requirements Engineering Processes Processes

description

 

Transcript of Unit 3 requirements engineering processes merged

Page 1: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 11

33rdrd UnitUnitRequirements Engineering Requirements Engineering

ProcessesProcesses

Page 2: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 22

ObjectivesObjectivesTo describe the principal requirements To describe the principal requirements engineering activities and their relationshipsengineering activities and their relationshipsTo introduce techniques for requirements To introduce techniques for requirements elicitation and analysiselicitation and analysisTo describe requirements validation and the To describe requirements validation and the role of requirements reviewsrole of requirements reviewsTo discuss the role of requirements To discuss the role of requirements management in support of other management in support of other requirements engineering processesrequirements engineering processes

Page 3: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 33

Topics coveredTopics coveredFeasibility studiesFeasibility studiesRequirements elicitation and analysisRequirements elicitation and analysisRequirements validationRequirements validationRequirements managementRequirements management

Page 4: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 44

Requirements engineering Requirements engineering processesprocesses

The processes used for RE vary widely The processes used for RE vary widely depending on the application domain, the depending on the application domain, the people involved and the organisation people involved and the organisation developing the requirements.developing the requirements.However, there are a number of generic However, there are a number of generic activities common to all processesactivities common to all processes–– Requirements elicitation;Requirements elicitation;–– Requirements analysis;Requirements analysis;–– Requirements validation;Requirements validation;–– Requirements management.Requirements management.

Page 5: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 55

The requirements engineering processThe requirements engineering process

Page 6: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 66

Requirements engineeringRequirements engineering

Page 7: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 77

Feasibility studiesFeasibility studies

A feasibility study decides whether or not A feasibility study decides whether or not the proposed system is worthwhile.the proposed system is worthwhile.A short focused study that checksA short focused study that checks–– If the system contributes to organisational If the system contributes to organisational

objectives;objectives;–– If the system can be engineered using current If the system can be engineered using current

technology and within budget;technology and within budget;–– If the system can be integrated with other If the system can be integrated with other

systems that are used.systems that are used.

Page 8: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 88

Feasibility study implementationFeasibility study implementation

Based on information assessment (what is Based on information assessment (what is required), information collection and report writing.required), information collection and report writing.Questions for people in the organisationQuestions for people in the organisation–– What if the system wasnWhat if the system wasn’’t implemented?t implemented?–– What are current process problems?What are current process problems?–– How will the proposed system help?How will the proposed system help?–– What will be the integration problems?What will be the integration problems?–– Is new technology needed? What skills?Is new technology needed? What skills?–– What facilities must be supported by the proposed What facilities must be supported by the proposed

system?system?

Page 9: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 99

Requirement Elicitation and analysisRequirement Elicitation and analysisSometimes called requirements elicitation or Sometimes called requirements elicitation or requirements discovery.requirements discovery.Involves technical staff working with customers to Involves technical staff working with customers to find out about the application domain, the services find out about the application domain, the services that the system should provide and the systemthat the system should provide and the system’’s s operational constraints.operational constraints.May involve endMay involve end--users, managers, engineers users, managers, engineers involved in maintenance, domain experts, trade involved in maintenance, domain experts, trade unions, etc. These are called unions, etc. These are called stakeholders.stakeholders.

Page 10: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1010

Problems of requirements Problems of requirements analysisanalysis

Stakeholders donStakeholders don’’t know what they really want.t know what they really want.Stakeholders express requirements in their own Stakeholders express requirements in their own terms.terms.Different stakeholders may have conflicting Different stakeholders may have conflicting requirements.requirements.Organisational and political factors may influence Organisational and political factors may influence the system requirements.the system requirements.The requirements change during the analysis The requirements change during the analysis process. New stakeholders may emerge and the process. New stakeholders may emerge and the business environment change.business environment change.

Page 11: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1111

The requirements spiralThe requirements spiral

Page 12: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1212

Process activitiesProcess activitiesRequirements discoveryRequirements discovery–– Interacting with stakeholders to discover their Interacting with stakeholders to discover their

requirements. Domain requirements are also discovered requirements. Domain requirements are also discovered at this stage.at this stage.

Requirements classification and organisationRequirements classification and organisation–– Groups related requirements and organises them into Groups related requirements and organises them into

coherent clusters.coherent clusters.Prioritisation and negotiationPrioritisation and negotiation–– Prioritising requirements and resolving requirements Prioritising requirements and resolving requirements

conflicts.conflicts.Requirements documentationRequirements documentation–– Requirements are documented and input into the next Requirements are documented and input into the next

round of the spiral.round of the spiral.

Page 13: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1313

Requirements discoveryRequirements discovery

The process of gathering information about The process of gathering information about the proposed and existing systems and the proposed and existing systems and distilling the user and system requirements distilling the user and system requirements from this information.from this information.Sources of information include Sources of information include documentation, system stakeholders and documentation, system stakeholders and the specifications of similar systems.the specifications of similar systems.

Page 14: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1414

ATM stakeholdersATM stakeholdersBank customersBank customersRepresentatives of other banksRepresentatives of other banksBank managersBank managersCounter staffCounter staffDatabase administrators Database administrators Security managersSecurity managersMarketing departmentMarketing departmentHardware and software maintenance engineersHardware and software maintenance engineersBanking regulatorsBanking regulators

Page 15: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1515

ViewpointsViewpointsViewpoints are a way of structuring the Viewpoints are a way of structuring the requirements to represent the perspectives requirements to represent the perspectives of different stakeholders. Stakeholders may of different stakeholders. Stakeholders may be classified under different viewpoints.be classified under different viewpoints.This multiThis multi--perspective analysis is important perspective analysis is important as there is no single correct way to analyse as there is no single correct way to analyse system requirements.system requirements.

Page 16: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1616

Types of viewpointTypes of viewpointInteractor viewpointsInteractor viewpoints–– People or other systems that interact directly with the People or other systems that interact directly with the

system. In an ATM, the customersystem. In an ATM, the customer’’s and the account s and the account database are interactor VPs.database are interactor VPs.

Indirect viewpointsIndirect viewpoints–– Stakeholders who do not use the system themselves Stakeholders who do not use the system themselves

but who influence the requirements. In an ATM, but who influence the requirements. In an ATM, management and security staff are indirect viewpoints.management and security staff are indirect viewpoints.

Domain viewpointsDomain viewpoints–– Domain characteristics and constraints that influence Domain characteristics and constraints that influence

the requirements. In an ATM, an example would be the requirements. In an ATM, an example would be standards for interstandards for inter--bank communications.bank communications.

Page 17: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1717

Viewpoint identificationViewpoint identification

Identify viewpoints usingIdentify viewpoints using–– Providers and receivers of system services;Providers and receivers of system services;–– Systems that interact directly with the system Systems that interact directly with the system

being specified;being specified;–– Regulations and standards;Regulations and standards;–– Sources of business and nonSources of business and non--functional functional

requirements.requirements.–– Engineers who have to develop and maintain Engineers who have to develop and maintain

the system;the system;–– Marketing and other business viewpoints.Marketing and other business viewpoints.

Page 18: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1818

LIBSYS viewpoint hierarchyLIBSYS viewpoint hierarchy

Page 19: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1919

InterviewingInterviewing

In formal or informal interviewing, the RE In formal or informal interviewing, the RE team puts questions to stakeholders about team puts questions to stakeholders about the system that they use and the system to the system that they use and the system to be developed.be developed.There are two types of interviewThere are two types of interview–– Closed interviews where a preClosed interviews where a pre--defined set of defined set of

questions are answered.questions are answered.–– Open interviews where there is no preOpen interviews where there is no pre--defined defined

agenda and a range of issues are explored with agenda and a range of issues are explored with stakeholders.stakeholders.

Page 20: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2020

Interviews in practiceInterviews in practice

Normally a mix of closed and openNormally a mix of closed and open--ended ended interviewing.interviewing.Interviews are good for getting an overall Interviews are good for getting an overall understanding of what stakeholders do and how understanding of what stakeholders do and how they might interact with the system.they might interact with the system.Interviews are not good for understanding domain Interviews are not good for understanding domain requirementsrequirements–– Requirements engineers cannot understand specific Requirements engineers cannot understand specific

domain terminology;domain terminology;–– Some domain knowledge is so familiar that people find it Some domain knowledge is so familiar that people find it

hard to articulate or think that it isnhard to articulate or think that it isn’’t worth articulating.t worth articulating.

Page 21: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2121

Effective interviewersEffective interviewers

Interviewers should be openInterviewers should be open--minded, willing minded, willing to listen to stakeholders and should not to listen to stakeholders and should not have prehave pre--conceived ideas about the conceived ideas about the requirements.requirements.They should prompt the interviewee with a They should prompt the interviewee with a question or a proposal and should not question or a proposal and should not simply expect them to respond to a question simply expect them to respond to a question such as such as ‘‘what do you wantwhat do you want’’. .

Page 22: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2222

Requirements validationRequirements validationConcerned with demonstrating that the Concerned with demonstrating that the requirements define the system that the requirements define the system that the customer really wants.customer really wants.Requirements error costs are high so Requirements error costs are high so validation is very importantvalidation is very important–– Fixing a requirements error after delivery may Fixing a requirements error after delivery may

cost up to 100 times the cost of fixing an cost up to 100 times the cost of fixing an implementation error.implementation error.

Page 23: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2323

Requirements checkingRequirements checkingValidityValidity. Does the system provide the functions . Does the system provide the functions which best support the customerwhich best support the customer’’s needs?s needs?ConsistencyConsistency. Are there any requirements . Are there any requirements conflicts?conflicts?CompletenessCompleteness. Are all functions required by the . Are all functions required by the customer included?customer included?RealismRealism. Can the requirements be implemented . Can the requirements be implemented given available budget and technologygiven available budget and technologyVerifiabilityVerifiability. Can the requirements be checked?. Can the requirements be checked?

Page 24: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2424

Requirements validation Requirements validation techniquestechniques

Requirements reviewsRequirements reviews–– Systematic manual analysis of the Systematic manual analysis of the

requirements.requirements.PrototypingPrototyping–– Using an executable model of the system to Using an executable model of the system to

check requirements. Covered in Chapter 17.check requirements. Covered in Chapter 17.TestTest--case generationcase generation–– Developing tests for requirements to check Developing tests for requirements to check

testability.testability.

Page 25: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2525

Requirements reviewsRequirements reviewsRegular reviews should be held while the Regular reviews should be held while the requirements definition is being formulated.requirements definition is being formulated.Both client and contractor staff should be Both client and contractor staff should be involved in reviews.involved in reviews.Reviews may be formal (with completed Reviews may be formal (with completed documents) or informal. Good documents) or informal. Good communications between developers, communications between developers, customers and users can resolve problems customers and users can resolve problems at an early stage.at an early stage.

Page 26: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2626

Review checksReview checksVerifiabilityVerifiability. Is the requirement realistically . Is the requirement realistically testable?testable?ComprehensibilityComprehensibility. Is the requirement . Is the requirement properly understood?properly understood?TraceabilityTraceability. Is the origin of the requirement . Is the origin of the requirement clearly stated?clearly stated?AdaptabilityAdaptability. Can the requirement be . Can the requirement be changed without a large impact on other changed without a large impact on other requirements?requirements?

Page 27: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2727

Requirements managementRequirements management

Requirements management is the process of Requirements management is the process of managing changing requirements during the managing changing requirements during the requirements engineering process and system requirements engineering process and system development.development.Requirements are inevitably incomplete and Requirements are inevitably incomplete and inconsistentinconsistent–– New requirements emerge during the process as New requirements emerge during the process as

business needs change and a better understanding of business needs change and a better understanding of the system is developed;the system is developed;

–– Different viewpoints have different requirements and Different viewpoints have different requirements and these are often contradictory.these are often contradictory.

Page 28: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2828

Requirements changeRequirements change

The priority of requirements from different The priority of requirements from different viewpoints changes during the development viewpoints changes during the development process.process.System customers may specify System customers may specify requirements from a business perspective requirements from a business perspective that conflict with endthat conflict with end--user requirements.user requirements.The business and technical environment of The business and technical environment of the system changes during its development.the system changes during its development.

Page 29: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2929

Requirements evolutionRequirements evolution

Page 30: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 3030

Requirements classificationRequirements classification

RequirementType

Description

Mutablerequirements

Requirements that change because of changes to the environment in which theorganisation is operating. For example, in hospital systems, the funding of patientcare may change and thus require different treatment information to be collected.

Emergentrequirements

Requirements that emerge as the customer's understanding of the system developsduring the system development. The design process may reveal new emergentrequirements.

Consequentialrequirements

Requirements that result from the introduction of the computer system. Introducingthe computer system may change the organisations processes and open up new waysof working which generate new system requirements

Compatibilityrequirements

Requirements that depend on the particular systems or b usiness processes within anorganisation. As these change, the compatibility requirements on the commissionedor delivered system may also have to evolve.

Page 31: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 3131

Requirements management Requirements management planningplanning

During the requirements engineering process, you During the requirements engineering process, you have to plan:have to plan:–– Requirements identificationRequirements identification

How requirements are individually identified;How requirements are individually identified;–– A change management processA change management process

The process followed when analysing a requirements change;The process followed when analysing a requirements change;–– Traceability policiesTraceability policies

The amount of information about requirements relationships that The amount of information about requirements relationships that is maintained;is maintained;

–– CASE tool supportCASE tool supportThe tool support required to help manage requirements change;The tool support required to help manage requirements change;

Page 32: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 3232

TraceabilityTraceability

Traceability is concerned with the relationships Traceability is concerned with the relationships between requirements, their sources and the between requirements, their sources and the system designsystem designSource traceabilitySource traceability–– Links from requirements to stakeholders who proposed Links from requirements to stakeholders who proposed

these requirements;these requirements;

Requirements traceabilityRequirements traceability–– Links between dependent requirements;Links between dependent requirements;

Design traceabilityDesign traceability–– Links from the requirements to the design;Links from the requirements to the design;

Page 33: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 3333

A traceability matrixA traceability matrix

Req.id

1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2

1.1 D R1.2 D D D1.3 R R2.1 R D D2.2 D2.3 R D3.1 R3.2 R

Page 34: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 3434

CASE tool supportCASE tool support

Requirements storageRequirements storage–– Requirements should be managed in a secure, Requirements should be managed in a secure,

managed data store.managed data store.

Change managementChange management–– The process of change management is a workflow The process of change management is a workflow

process whose stages can be defined and information process whose stages can be defined and information flow between these stages partially automated.flow between these stages partially automated.

Traceability managementTraceability management–– Automated retrieval of the links between requirements.Automated retrieval of the links between requirements.

Page 35: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 3535

Requirements change managementRequirements change management

Should apply to all proposed changes to the Should apply to all proposed changes to the requirements.requirements.Principal stagesPrincipal stages–– Problem analysis. Discuss requirements Problem analysis. Discuss requirements

problem and propose change;problem and propose change;–– Change analysis and costing. Assess effects of Change analysis and costing. Assess effects of

change on other requirements;change on other requirements;–– Change implementation. Modify requirements Change implementation. Modify requirements

document and other documents to reflect document and other documents to reflect change.change.

Page 36: Unit 3 requirements engineering processes merged

1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 3636

Change managementChange management

Page 37: Unit 3 requirements engineering processes merged

33rdrd Unit Unit System modelsSystem models

Page 38: Unit 3 requirements engineering processes merged

ObjectivesObjectivesTo explain why the context of a system To explain why the context of a system should be modelled as part of the RE should be modelled as part of the RE processprocessTo describe behavioural modelling, data To describe behavioural modelling, data modelling and object modellingmodelling and object modellingTo introduce some of the notations used in To introduce some of the notations used in the Unified Modeling Language (UML)the Unified Modeling Language (UML)To show how CASE workbenches support To show how CASE workbenches support system modellingsystem modelling

Page 39: Unit 3 requirements engineering processes merged

Topics coveredTopics coveredContext modelsContext modelsBehavioural modelsBehavioural modelsData modelsData modelsObject modelsObject modelsCASE workbenchesCASE workbenches

Page 40: Unit 3 requirements engineering processes merged

System modellingSystem modellingSystem modelling helps the analyst to understand System modelling helps the analyst to understand the functionality of the system and models are the functionality of the system and models are used to communicate with customers.used to communicate with customers.Different models present the system from different Different models present the system from different perspectivesperspectives–– External perspective showing the systemExternal perspective showing the system’’s context or s context or

environment;environment;–– Behavioural perspective showing the behaviour of the Behavioural perspective showing the behaviour of the

system;system;–– Structural perspective showing the system or data Structural perspective showing the system or data

architecture.architecture.

Page 41: Unit 3 requirements engineering processes merged

Model typesModel typesData processing model showing how the data Data processing model showing how the data is processed at different stages.is processed at different stages.Composition model showing how entities are Composition model showing how entities are composed of other entities.composed of other entities.Architectural model showing principal subArchitectural model showing principal sub--systems.systems.Classification model showing how entities Classification model showing how entities have common characteristics.have common characteristics.Stimulus/response model showing the Stimulus/response model showing the systemsystem’’s reaction to events.s reaction to events.

Page 42: Unit 3 requirements engineering processes merged

Context modelsContext models

Context models are used to illustrate the Context models are used to illustrate the operational context of a system operational context of a system -- they show they show what lies outside the system boundaries.what lies outside the system boundaries.Social and organisational concerns may Social and organisational concerns may affect the decision on where to position affect the decision on where to position system boundaries.system boundaries.Architectural models show the system and Architectural models show the system and its relationship with other systems.its relationship with other systems.

Page 43: Unit 3 requirements engineering processes merged

The context of an ATM systemThe context of an ATM system

Page 44: Unit 3 requirements engineering processes merged

Process modelsProcess models

Process models show the overall process Process models show the overall process and the processes that are supported by the and the processes that are supported by the system.system.Data flow models may be used to show the Data flow models may be used to show the processes and the flow of information from processes and the flow of information from one process to another.one process to another.

Page 45: Unit 3 requirements engineering processes merged

Equipment procurement processEquipment procurement process

Page 46: Unit 3 requirements engineering processes merged

Behavioural modelsBehavioural models

Behavioural models are used to describe Behavioural models are used to describe the overall behaviour of a system.the overall behaviour of a system.Two types of behavioural model are:Two types of behavioural model are:–– Data processing models that show how data is Data processing models that show how data is

processed as it moves through the system;processed as it moves through the system;–– State machine models that show the systems State machine models that show the systems

response to events.response to events.These models show different perspectives These models show different perspectives so both of them are required to describe the so both of them are required to describe the systemsystem’’s behaviour.s behaviour.

Page 47: Unit 3 requirements engineering processes merged

DataData--processing modelsprocessing modelsData flow diagrams (DFDs) may be used to Data flow diagrams (DFDs) may be used to model the systemmodel the system’’s data processing.s data processing.These show the processing steps as data These show the processing steps as data flows through a system.flows through a system.DFDs are an intrinsic part of many analysis DFDs are an intrinsic part of many analysis methods.methods.Simple and intuitive notation that customers Simple and intuitive notation that customers can understand.can understand.Show endShow end--toto--end processing of data.end processing of data.

Page 48: Unit 3 requirements engineering processes merged

Order processing DFDOrder processing DFD

Page 49: Unit 3 requirements engineering processes merged

Data flow diagramsData flow diagrams

DFDs model the system from a functional DFDs model the system from a functional perspective.perspective.Tracking and documenting how the data Tracking and documenting how the data associated with a process is helpful to associated with a process is helpful to develop an overall understanding of the develop an overall understanding of the system.system.Data flow diagrams may also be used in Data flow diagrams may also be used in showing the data exchange between a showing the data exchange between a system and other systems in its system and other systems in its environment.environment.

Page 50: Unit 3 requirements engineering processes merged

Insulin pump DFDInsulin pump DFD

Page 51: Unit 3 requirements engineering processes merged

State machine modelsState machine models

These model the behaviour of the system in These model the behaviour of the system in response to external and internal events.response to external and internal events.They show the systemThey show the system’’s responses to stimuli so s responses to stimuli so are often used for modelling realare often used for modelling real--time systems.time systems.State machine models show system states as State machine models show system states as nodes and events as arcs between these nodes. nodes and events as arcs between these nodes. When an event occurs, the system moves from When an event occurs, the system moves from one state to another.one state to another.Statecharts are an integral part of the UML and Statecharts are an integral part of the UML and are used to represent state machine models.are used to represent state machine models.

Page 52: Unit 3 requirements engineering processes merged

StatechartsStatecharts

Allow the decomposition of a model into Allow the decomposition of a model into subsub--models (see following slide).models (see following slide).A brief description of the actions is included A brief description of the actions is included following the following the ‘‘dodo’’ in each state.in each state.Can be complemented by tables describing Can be complemented by tables describing the states and the stimuli.the states and the stimuli.

Page 53: Unit 3 requirements engineering processes merged

Microwave oven modelMicrowave oven model

Page 54: Unit 3 requirements engineering processes merged

Microwave oven state descriptionMicrowave oven state description

State Description

Waiting The oven is waiting for input. The display shows the current time.

Half power The oven power is set to 300 watts. The display shows ŌHalf powerÕ.

Full power The oven power is set to 600 watts. The display shows ŌFull powerÕ.

Set time The cooking time is s et to the userÕs input value. The display shows the cooking timeselected and is updated as the time is set.

Disabled Oven operation is disabled for safety. Interior oven light is on. Display shows ŌNotreadyÕ.

Enabled Oven operation is enabled. Interior oven light is off. Display shows ŌReady to cookÕ.

Operation Oven in operation. Interior oven light is on. Display shows the timer countdown. Oncompletion of cooking, the buzzer is sounded for 5 s econds. Oven light is on. Displayshows ŌCooking completeÕ while buzzer is sounding.

Page 55: Unit 3 requirements engineering processes merged

Microwave oven stimuliMicrowave oven stimuli

Stimulus Description

Half power The user has pressed the half power button

Full power The user has pressed the full power button

Timer The user has pressed one of the timer buttons

Number The user has pressed a numeric key

Door open The oven door switch is not closed

Door closed The oven door switch is closed

Start The user has pressed the start button

Cancel The user has pressed the cancel button

Page 56: Unit 3 requirements engineering processes merged

Microwave oven operationMicrowave oven operation

Page 57: Unit 3 requirements engineering processes merged

Semantic data modelsSemantic data modelsUsed to describe the logical structure of data Used to describe the logical structure of data processed by the system.processed by the system.An entityAn entity--relationrelation--attribute model sets out the attribute model sets out the entities in the system, the relationships between entities in the system, the relationships between these entities and the entity attributesthese entities and the entity attributesWidely used in database design. Can readily be Widely used in database design. Can readily be implemented using relational databases.implemented using relational databases.No specific notation provided in the UML but No specific notation provided in the UML but objects and associations can be used.objects and associations can be used.

Page 58: Unit 3 requirements engineering processes merged

Library semantic modelLibrary semantic model

Page 59: Unit 3 requirements engineering processes merged

Data dictionariesData dictionaries

Data dictionaries are lists of all of the names used Data dictionaries are lists of all of the names used in the system models. Descriptions of the entities, in the system models. Descriptions of the entities, relationships and attributes are also included.relationships and attributes are also included.AdvantagesAdvantages–– Support name management and avoid duplication;Support name management and avoid duplication;–– Store of organisational knowledge linking analysis, Store of organisational knowledge linking analysis,

design and implementation;design and implementation;

Many CASE workbenches support data Many CASE workbenches support data dictionaries.dictionaries.

Page 60: Unit 3 requirements engineering processes merged

Data dictionary entriesData dictionary entries

Name Description Type Date

Article Details of the published article that may be ordered bypeople using LIBSYS. Entity 30.12.2002

authors The names of the authors of the article who may be duea share of the fee. Attribute 30.12.2002

Buyer The person or organisation that orders a co py of thearticle. Entity 30.12.2002

fee-payable-to

A 1:1 relationship between Article and the CopyrightAgency who should be paid the copyright fee. Relation 29.12.2002

Address(Buyer)

The address of the buyer. This is used to any paperbilling information that is required. Attribute 31.12.2002

Page 61: Unit 3 requirements engineering processes merged

Object modelsObject modelsObject models describe the system in terms of Object models describe the system in terms of object classes and their associations.object classes and their associations.An object class is an abstraction over a set of An object class is an abstraction over a set of objects with common attributes and the services objects with common attributes and the services (operations) provided by each object.(operations) provided by each object.Various object models may be producedVarious object models may be produced–– Inheritance models;Inheritance models;–– Aggregation models;Aggregation models;–– Interaction models.Interaction models.

Page 62: Unit 3 requirements engineering processes merged

Object modelsObject modelsNatural ways of reflecting the realNatural ways of reflecting the real--world world entities manipulated by the systementities manipulated by the systemMore abstract entities are more difficult to More abstract entities are more difficult to model using this approachmodel using this approachObject class identification is recognised as a Object class identification is recognised as a difficult process requiring a deep difficult process requiring a deep understanding of the application domainunderstanding of the application domainObject classes reflecting domain entities are Object classes reflecting domain entities are reusable across systemsreusable across systems

Page 63: Unit 3 requirements engineering processes merged

Inheritance modelsInheritance modelsOrganise the domain object classes into a Organise the domain object classes into a hierarchy.hierarchy.Classes at the top of the hierarchy reflect the Classes at the top of the hierarchy reflect the common features of all classes.common features of all classes.Object classes inherit their attributes and services Object classes inherit their attributes and services from one or more superfrom one or more super--classes. these may then classes. these may then be specialised as necessary.be specialised as necessary.Class hierarchy design can be a difficult process if Class hierarchy design can be a difficult process if duplication in different branches is to be avoided.duplication in different branches is to be avoided.

Page 64: Unit 3 requirements engineering processes merged

Object models and the UMLObject models and the UML

The UML is a standard representation devised by The UML is a standard representation devised by the developers of widely used objectthe developers of widely used object--oriented oriented analysis and design methods.analysis and design methods.It has become an effective standard for objectIt has become an effective standard for object--oriented modelling.oriented modelling.NotationNotation–– Object classes are rectangles with the name at the top, Object classes are rectangles with the name at the top,

attributes in the middle section and operations in the attributes in the middle section and operations in the bottom section;bottom section;

–– Relationships between object classes (known as Relationships between object classes (known as associations) are shown as lines linking objects;associations) are shown as lines linking objects;

–– Inheritance is referred to as generalisation and is shown Inheritance is referred to as generalisation and is shown ‘‘upwardsupwards’’ rather than rather than ‘‘downwardsdownwards’’ in a hierarchy.in a hierarchy.

Page 65: Unit 3 requirements engineering processes merged

Library class hierarchyLibrary class hierarchy

Page 66: Unit 3 requirements engineering processes merged

User class hierarchyUser class hierarchy

Page 67: Unit 3 requirements engineering processes merged

Multiple inheritanceMultiple inheritanceRather than inheriting the attributes and services Rather than inheriting the attributes and services from a single parent class, a system which from a single parent class, a system which supports multiple inheritance allows object classes supports multiple inheritance allows object classes to inherit from several superto inherit from several super--classes.classes.This can lead to semantic conflicts where This can lead to semantic conflicts where attributes/services with the same name in different attributes/services with the same name in different supersuper--classes have different semantics.classes have different semantics.Multiple inheritance makes class hierarchy Multiple inheritance makes class hierarchy reorganisation more complex.reorganisation more complex.

Page 68: Unit 3 requirements engineering processes merged

Multiple inheritanceMultiple inheritance

Page 69: Unit 3 requirements engineering processes merged

Object aggregationObject aggregationAn aggregation model shows how classes An aggregation model shows how classes that are collections are composed of other that are collections are composed of other classes.classes.Aggregation models are similar to the partAggregation models are similar to the part--of of relationship in semantic data models.relationship in semantic data models.

Page 70: Unit 3 requirements engineering processes merged

Object aggregationObject aggregation

Page 71: Unit 3 requirements engineering processes merged

Object behaviour modellingObject behaviour modelling

A behavioural model shows the interactions A behavioural model shows the interactions between objects to produce some particular between objects to produce some particular system behaviour that is specified as a usesystem behaviour that is specified as a use--case.case.Sequence diagrams (or collaboration Sequence diagrams (or collaboration diagrams) in the UML are used to model diagrams) in the UML are used to model interaction between objects.interaction between objects.

Page 72: Unit 3 requirements engineering processes merged

Issue of electronic itemsIssue of electronic items

Page 73: Unit 3 requirements engineering processes merged

Structured methodsStructured methods

Structured methods incorporate system Structured methods incorporate system modelling as an inherent part of the method.modelling as an inherent part of the method.Methods define a set of models, a process Methods define a set of models, a process for deriving these models and rules and for deriving these models and rules and guidelines that should apply to the models.guidelines that should apply to the models.CASE tools support system modelling as CASE tools support system modelling as part of a structured method.part of a structured method.

Page 74: Unit 3 requirements engineering processes merged

Method weaknessesMethod weaknesses

They do not model nonThey do not model non--functional system functional system requirements.requirements.They do not usually include information They do not usually include information about whether a method is appropriate for a about whether a method is appropriate for a given problem.given problem.The may produce too much documentation.The may produce too much documentation.The system models are sometimes too The system models are sometimes too detailed and difficult for users to understand.detailed and difficult for users to understand.

Page 75: Unit 3 requirements engineering processes merged

CASE workbenchesCASE workbenches

A coherent set of tools that is designed to A coherent set of tools that is designed to support related software process activities support related software process activities such as analysis, design or testing.such as analysis, design or testing.Analysis and design workbenches support Analysis and design workbenches support system modelling during both requirements system modelling during both requirements engineering and system design.engineering and system design.These workbenches may support a specific These workbenches may support a specific design method or may provide support for a design method or may provide support for a creating several different types of system creating several different types of system model.model.

Page 76: Unit 3 requirements engineering processes merged

An analysis and design An analysis and design workbenchworkbench

Page 77: Unit 3 requirements engineering processes merged

Analysis workbench componentsAnalysis workbench componentsDiagram editorsDiagram editorsModel analysis and checking toolsModel analysis and checking toolsRepository and associated query languageRepository and associated query languageData dictionaryData dictionaryReport definition and generation toolsReport definition and generation toolsForms definition toolsForms definition toolsImport/export translatorsImport/export translatorsCode generation toolsCode generation tools

Page 78: Unit 3 requirements engineering processes merged

Key pointsKey pointsA model is an abstract system view. A model is an abstract system view. Complementary types of model provide Complementary types of model provide different system information.different system information.Context models show the position of a Context models show the position of a system in its environment with other system in its environment with other systems and processes.systems and processes.Data flow models may be used to model the Data flow models may be used to model the data processing in a system.data processing in a system.State machine models model the systemState machine models model the system’’s s behaviour in response to internal or external behaviour in response to internal or external eventsevents

Page 79: Unit 3 requirements engineering processes merged

Key pointsKey pointsSemantic data models describe the logical Semantic data models describe the logical structure of data which is imported to or structure of data which is imported to or exported by the systems.exported by the systems.Object models describe logical system Object models describe logical system entities, their classification and aggregation.entities, their classification and aggregation.Sequence models show the interactions Sequence models show the interactions between actors and the system objects that between actors and the system objects that they use.they use.Structured methods provide a framework for Structured methods provide a framework for developing system models.developing system models.