unit 3 requirements engineering processes merged
DESCRIPTION
TRANSCRIPT
1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 11
33rdrd UnitUnitRequirements Engineering Requirements Engineering
ProcessesProcesses
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
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
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.
1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 55
The requirements engineering processThe requirements engineering process
1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 66
Requirements engineeringRequirements engineering
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.
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?
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.
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.
1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1111
The requirements spiralThe requirements spiral
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.
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.
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
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.
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.
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.
1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1818
LIBSYS viewpoint hierarchyLIBSYS viewpoint hierarchy
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.
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.
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’’. .
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.
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?
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.
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.
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?
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.
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.
1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2929
Requirements evolutionRequirements evolution
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.
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;
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;
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
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.
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.
1/24/20091/24/2009 S.Sreenivasa RaoS.Sreenivasa Rao 3636
Change managementChange management
33rdrd Unit Unit System modelsSystem models
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
Topics coveredTopics coveredContext modelsContext modelsBehavioural modelsBehavioural modelsData modelsData modelsObject modelsObject modelsCASE workbenchesCASE workbenches
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.
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.
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.
The context of an ATM systemThe context of an ATM system
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.
Equipment procurement processEquipment procurement process
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.
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.
Order processing DFDOrder processing DFD
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.
Insulin pump DFDInsulin pump DFD
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.
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.
Microwave oven modelMicrowave oven model
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.
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
Microwave oven operationMicrowave oven operation
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.
Library semantic modelLibrary semantic model
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.
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
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.
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
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.
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.
Library class hierarchyLibrary class hierarchy
User class hierarchyUser class hierarchy
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.
Multiple inheritanceMultiple inheritance
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.
Object aggregationObject aggregation
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.
Issue of electronic itemsIssue of electronic items
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.
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.
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.
An analysis and design An analysis and design workbenchworkbench
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
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
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.