UNIT- II
REQUIREMENT ANALYSIS
AND MODELLING
SOFTWARE ENGINEERING, ROGER S PRESSMAN, A PRACTITIONER’S APPROACH
REQUIREMENTS???
• Is gathering the requirements an easy job?
• The broad spectrum of tasks and techniques that lead to the
understanding of requirements is called requirements engineering.
• Establishes a strong base for design and construction.
• It has seven distinct tasks .
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
2
INCEPTION
• It establishes the basic understanding of the problem and the nature
of the solution desired.
• Working description of project scope is identified.
• It provides effective communication and collaboration between
stakeholders and other software team.
• As the information is subject to change, stakeholders must have
sufficient discussion with software engineering organization.
• During the inception task, the requirement engineer asks several sets of
questions to customers and stake holders.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
3
INCEPTION
• Who is behind the request for this work?
• Who will use the solution
• What will be the economic benefit of a successful solution?
• Is there another source for the solution that you need?
• How would you characterize "good" output?
• What problem(s) will this solution address?
• Can you show me (or describe) the business environment in which the
solution will be used?
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
4
2. ELICITATION
• In requirement engineering, requirements elicitation is the practice of
researching and discovering the requirements of a system from
users, customers, and other stakeholders.
• But this process is not simple as there are number of problems
encountered during elicitation.
• Problem of scope: The boundary of the system is not properly
identified as customers give unnecessary technical detail rather than
clarity of the overall system objective.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
5
2. ELICITATION
• Problem of understanding:
• Customers are not sure of what is needed as they have poor
understanding of the problem domain regarding various aspect of the
project like capability, limitation of the computing environment.
• They have trouble communicating with system engineer, with that
they specify conflict requirements or ambiguous requirements.
• Problem of volatility: As requirements change from time to time and
it is difficult while developing the project.
• During elicitation we can identify the problem, propose elements of
solution, and specify a preliminary set of solution requirements.
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 6
3. ELABORATION
• The information obtained from the customer during inception and
elicitation is expanded and is refined during elaboration.
• During this task requirement model is developed under various aspects
of software functions, features and constraints.
• Create user scenarios that describe how the end user (and other
actors) will interact with the system by providing various
supplementary diagrams.
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 7
4.NEGOTIATION
• Negotiation is the process of reconciling conflicts in requirements.
• Customers are asked to rank the requirements and then discuss
conflicts in priority.
• Risks associated with each requirement are identified and analyzed.
• Using an iterative approach, requirements are eliminated, combined
and/or modified so that each party achieves some measure of
satisfaction
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 8
• A specification can be a written document, a set of graphical models, a
formal mathematical model, a collection of usage scenarios, a prototype, or
any combination of these.
• Specification should follow standard template to present the
requirements in consistent and understandable manner.
• In this task, the requirement engineer constructs a final work product.
• The work product is in the form of software requirement specification.
• It formalizes requirements of the proposed software in both a graphical and
textual format.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
9
Typical Contents of a Software
Requirements Specification Requirements
• Software requirements grouped by capabilities.
• External interface requirements.
• Internal interface requirements.
• Software internal data requirements.
• Other software requirements such as safety, security, privacy, etc.
• Design and implementation constraints.
• Qualification provisions to ensure each requirement has been met.
• Demonstration, test, analysis, inspection, etc.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
10
6. VALIDATION
• The quality of work product is assessed through the validation step.
• Requirements validation examines the specification to ensure that all
software requirements have been stated unambiguously and that the
work products conform to the standards established for the process,
the project, and the product.
• The primary requirements validation mechanism is the technical
review, where customers and software engineers verify the
requirements to resolve errors.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
11
7. REQUIREMENT MANAGEMENT
• It is a set of activities that help the project team to identify, control
and track the requirements and changes can be made to the
requirements at any time of the ongoing project.
• Requirement management take care of changing nature of the
requirement and ensures that specification is modifiable to incorporate
changes in requirements.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
12
ESTABLISHING THE
GROUND WORK
STEPS INVOLVED
• Identifying the stakeholders
• Recognizing multiple view points
• Working toward collaboration
• Asking the first questions
• Non functional requirements
• Traceability
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
14
1.STAKE HOLDERS
• Anyone who benefits in a direct or indirect way from the system
which is being developed
• Each stakeholders has different point of view
• Business operations managers, product managers, marketing people,
internal and external customers, end users, consultants, product
engineers, software engineers, support and maintenance engineers, and
others.
• Whom else do you think I should talk to?
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
15
2.RECOGNIZING MULTIPLE
VIEWPOINTS
• Because many different stakeholders exist, the requirements of the
system will be explored from many different points of view
• “Put three stakeholders in a room and ask them what kind of system
they want. You’re likely to get four or more different opinions.”
• Each of these constituencies (and others) will contribute information
to the requirements engineering process.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
16
3.WORKING TOWARD
COLLABORATION
• The job of a requirements engineer is to identify areas of commonality
(i.e., requirements on which all stakeholders agree) and areas of conflict
or inconsistency (i.e., requirements that are desired by one stakeholder
but conflict with the needs of another stakeholder). It is, of course, the
latter category that presents a challenge.
• Collaboration does not necessarily mean that requirements are defined by
committee.
• s In many cases, stakeholders collaborate by providing their view of
requirements, but a strong “project champion”(e.g., a business manager or
a senior technologist) may make the final decision about which
requirements make the cut.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
17
4.Asking the First Question
• “It is better to know some of the questions than all of the answers.”
• Who is behind the request for this work?
• Who will use the solution?
• What will be the economic benefit of a successful solution?
• Is there another source for the solution that you need?
• What problem(s) will this solution address?
• Can you show me (or describe) the business environment in which the solution
will be used?
• Am I asking too many questions?
• Can anyone else provide additional information?
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
18
MODELLING
REQUIREMENTS ANALYSIS
• The requirements model—actually a set of models—is the first
technical representation of a systems.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
20
• The requirements modeling action results in one or more of the following
types of models:
• Scenario-based models of requirements from the point of view of various
system “actors”
• Data models that depict the information domain for the problem
• Class-oriented models that represent object-oriented classes (attributes and
operations) and the manner in which classes collaborate to achieve system
Requirements.
• Flow-oriented models that represent the functional elements of the system
and how they transform data as it moves through the system.
• Behavioral models that depict how the software behaves as a consequence
of external “events”
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
21
OBJECTIVES
• Throughout requirements modeling, your primary focus is on what,
not how.
• The requirements model must achieve three primary objectives:
(1) to describe what the customer requires,
(2) to establish a basis for the creation of a software design, And
(3) to define a set of requirements that can be validated once the
software is built.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
22
Analysis Rules of Thumb
• The model should focus on requirements that are visible within the problem or
business domain.
• The level of abstraction should be relatively high.
• Each element of the requirements model should add to an overall
understanding of software requirements and provide insight into the
information domain, Function, and behavior of the system.
• Delay consideration of infrastructure and other non functional models until
design.
• Minimize coupling throughout the system.
• Be certain that the requirements model provides value to all stakeholders.
• Keep the model as simple as it can be. [KIS]
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
23
ELEMENTS OF ANALYSIS MODEL
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
24
SCENARIO-BASED MODELLING
• Although the success of a computer-based system or product is
measured in many ways, user satisfaction resides at the top of the list.
• USE CASE:
• A use case captures the interactions that occur between producers
and consumers of information and the system itself.
• The first two requirements engineering tasks— inception and
elicitation —provide you with the information you’ll need to begin
writing use cases.
• List the functions or activities performed by a specific actor.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
25
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 26
REFINING A PRELIMINARY USE CASE
• Can the actor take some other action at this point?
• Is it possible that the actor will encounter some error condition at this
point?
• Is it possible that the actor will encounter some other behavior at this
point (e.g., behavior that is invoked by some event outside the actor’s
control)? If so, what might it be?
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
27
Writing a Formal Use Case
• The typical outline for formal use cases can be in following manner:
• The goal in context identifies the overall scope of the use case.
• The precondition describes what is known to be true before the use case is
initiated.
• The trigger identifies the event or condition that “gets the use case started”
• The scenario lists the specific actions that are required by the actor and the
appropriate system responses.
• Exceptions identify the situations uncovered as the preliminary use case is
refined Additional headings may or may not be included and are
reasonably self-explanatory
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
28
CLASS-BASED
MODELING
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 30
• Class-based modeling represents the objects that the system will
manipulate, the operations that will be applied to the objects to effect
the manipulation, relationships between the objects, and the
collaborations that occur between the classes that are defined.
• The elements of a class-based model include classes and objects,
attributes, operations, class responsibility collaborator (CRC)
models, collaboration diagrams, and packages.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
31
Identifying Analysis Classes
• Analysis classes manifest themselves in one of the following ways:
• External entities (e.g., other systems, devices, people) that produce or consume information to
be used by a computer-based system.
• Things (e.g., reports, displays, letters, signals) that are part of the information domain for the
problem.
• Occurrences or events (e.g., a property transfer or the completion of a series of robot
movements) that occur within the context of system operation.
• Roles (e.g., manager, engineer, salesperson) played by people who interact with the system.
• Organizational units (e.g., division, group, team) that are relevant to an application.
• Places (e.g., manufacturing floor or loading dock) that establish the context of the problem and
the overall function of the system.
• Structures (e.g., sensors, four-wheeled vehicles, or computers) that define a class of objects or
related classes of objects.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
32
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 33
Safe home : class based
modeling
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
34
1. Retained information:
The potential class will be useful during analysis only if information about it must be remembered so that the
system can function.
2. Needed services:
The potential class must have a set of identifiable operations that can change the value of its attributes in some way.
3. Multiple attributes:
During requirement analysis, the focus should be on “major” information; a class with a single attribute may, in
fact, be useful during design, but is probably better represented as an attribute of another class during the analysis
activity.
4. Common attributes:
A set of attributes can be defined for the potential class and these attributes apply to all instances of the class.
5. Common operations:
A set of operations can be defined for the potential class and these operations apply to all instances of the class.
6. Essential requirements:
External entities that appear in the problem space and produce or consume information essential to the operation of
any solution for the system will almost always be defined as classes in the requirements model.
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 35
SPECIFYING ATTRIBUTES
• Attributes describe a class that has been selected for inclusion in the
requirements model.
• In essence, it is the attributes that define the class—that clarify what is
meant by the class in the context of the problem space.
• To develop a meaningful set of attributes for an analysis class, you
should study each use case and select those “things” that reasonably
“belong” to the class.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
36
Defining Operations
• Operations define the behavior of an object.
• Four broad categories:
(1) operations that manipulate data in some way (e.g., adding, deleting,
reformatting, selecting)
(2) operations that perform a computation
(3) operations that inquire about the state of an object
(4) operations that monitor an object for the occurrence of a controlling
event.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
37
Class-Responsibility-Collaborator (CRC)
Modelling
• A simple means for identifying and organizing the classes that are relevant to
system or product requirements.
• A CRC model is really a collection of standard index cards that represent classes.
• The CRC model may make use of actual or virtual index cards. The intent is to
develop an organized representation of classes.
• Responsibilities are the attributes and operations that are relevant for the class.
i.e., a responsibility is “anything the class knows or does” .
• Collaborators are those classes that are required to provide a class with the
information needed to complete a responsibility.
• In general, a collaboration implies either a request for information or a request for
some action.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
38
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 39
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 40
• The cards are divided into three sections.
• Along the top of the card you write the name of the class.
• In the body of the card you list the class responsibilities on the left
• and the collaborators on the right.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
41
Classes :
Entity classes
• Extracted directly from the statement of the problem
• Represent things to be stored or persist throughout the development
Boundary classes
• Create/display interface
• Manage how to represent entity objects to users
Controller classes
• Create/update entity objects
• Initiate boundary objects
• Control communications
• Validate data exchanged.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
42
RESPONSIBILITIES --
FIVE GUIDELINES
I. System intelligence should be distributed across classes to best address the
needs of the problem.
II. Each responsibility should be stated as generally as possible
III. Information and the behavior related to it should reside within the same class.
IV. Information about one thing should be localized with a single class, not
distributed across multiple classes.
V. Responsibilities should be shared among related classes, when appropriate
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
43
Collaborations :
A class may collaborate with other classes to fulfill responsibilities
• If a class cannot fulfill every single responsibility itself, it must interact
with another class
• Collaboration refers to identifying relationships between classes
 is-part-of relationship
• Aggregation
 has-knowledge-of relationship: one class must acquire information from
another class
• Association
 depends-upon relationship: dependency other than the above two
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
44
Associations and Dependencies
• Multiplicity defines how many of one class are related to how many of
another class.
• An association defines a relationship between classes. An association
may be further defined by indicating multiplicity.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
45
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 46
Analysis Packages
• An important part of analysis modeling is categorization.
• That is, various elements of the analysis model (e.g., use cases,
analysis classes) are categorized in a manner that packages them as a
grouping—called an analysis package—that is given a representative
name.
JEEVA DHARSHINI.K ,KONGU ENGINEERING
COLLEGE,ERODE
47
JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 48

REQUIREMENTS ANALYSIS AND MODELLING.pptx

  • 1.
    UNIT- II REQUIREMENT ANALYSIS ANDMODELLING SOFTWARE ENGINEERING, ROGER S PRESSMAN, A PRACTITIONER’S APPROACH
  • 2.
    REQUIREMENTS??? • Is gatheringthe requirements an easy job? • The broad spectrum of tasks and techniques that lead to the understanding of requirements is called requirements engineering. • Establishes a strong base for design and construction. • It has seven distinct tasks . JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 2
  • 3.
    INCEPTION • It establishesthe basic understanding of the problem and the nature of the solution desired. • Working description of project scope is identified. • It provides effective communication and collaboration between stakeholders and other software team. • As the information is subject to change, stakeholders must have sufficient discussion with software engineering organization. • During the inception task, the requirement engineer asks several sets of questions to customers and stake holders. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 3
  • 4.
    INCEPTION • Who isbehind the request for this work? • Who will use the solution • What will be the economic benefit of a successful solution? • Is there another source for the solution that you need? • How would you characterize "good" output? • What problem(s) will this solution address? • Can you show me (or describe) the business environment in which the solution will be used? JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 4
  • 5.
    2. ELICITATION • Inrequirement engineering, requirements elicitation is the practice of researching and discovering the requirements of a system from users, customers, and other stakeholders. • But this process is not simple as there are number of problems encountered during elicitation. • Problem of scope: The boundary of the system is not properly identified as customers give unnecessary technical detail rather than clarity of the overall system objective. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 5
  • 6.
    2. ELICITATION • Problemof understanding: • Customers are not sure of what is needed as they have poor understanding of the problem domain regarding various aspect of the project like capability, limitation of the computing environment. • They have trouble communicating with system engineer, with that they specify conflict requirements or ambiguous requirements. • Problem of volatility: As requirements change from time to time and it is difficult while developing the project. • During elicitation we can identify the problem, propose elements of solution, and specify a preliminary set of solution requirements. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 6
  • 7.
    3. ELABORATION • Theinformation obtained from the customer during inception and elicitation is expanded and is refined during elaboration. • During this task requirement model is developed under various aspects of software functions, features and constraints. • Create user scenarios that describe how the end user (and other actors) will interact with the system by providing various supplementary diagrams. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 7
  • 8.
    4.NEGOTIATION • Negotiation isthe process of reconciling conflicts in requirements. • Customers are asked to rank the requirements and then discuss conflicts in priority. • Risks associated with each requirement are identified and analyzed. • Using an iterative approach, requirements are eliminated, combined and/or modified so that each party achieves some measure of satisfaction JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 8
  • 9.
    • A specificationcan be a written document, a set of graphical models, a formal mathematical model, a collection of usage scenarios, a prototype, or any combination of these. • Specification should follow standard template to present the requirements in consistent and understandable manner. • In this task, the requirement engineer constructs a final work product. • The work product is in the form of software requirement specification. • It formalizes requirements of the proposed software in both a graphical and textual format. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 9
  • 10.
    Typical Contents ofa Software Requirements Specification Requirements • Software requirements grouped by capabilities. • External interface requirements. • Internal interface requirements. • Software internal data requirements. • Other software requirements such as safety, security, privacy, etc. • Design and implementation constraints. • Qualification provisions to ensure each requirement has been met. • Demonstration, test, analysis, inspection, etc. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 10
  • 11.
    6. VALIDATION • Thequality of work product is assessed through the validation step. • Requirements validation examines the specification to ensure that all software requirements have been stated unambiguously and that the work products conform to the standards established for the process, the project, and the product. • The primary requirements validation mechanism is the technical review, where customers and software engineers verify the requirements to resolve errors. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 11
  • 12.
    7. REQUIREMENT MANAGEMENT •It is a set of activities that help the project team to identify, control and track the requirements and changes can be made to the requirements at any time of the ongoing project. • Requirement management take care of changing nature of the requirement and ensures that specification is modifiable to incorporate changes in requirements. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 12
  • 13.
  • 14.
    STEPS INVOLVED • Identifyingthe stakeholders • Recognizing multiple view points • Working toward collaboration • Asking the first questions • Non functional requirements • Traceability JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 14
  • 15.
    1.STAKE HOLDERS • Anyonewho benefits in a direct or indirect way from the system which is being developed • Each stakeholders has different point of view • Business operations managers, product managers, marketing people, internal and external customers, end users, consultants, product engineers, software engineers, support and maintenance engineers, and others. • Whom else do you think I should talk to? JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 15
  • 16.
    2.RECOGNIZING MULTIPLE VIEWPOINTS • Becausemany different stakeholders exist, the requirements of the system will be explored from many different points of view • “Put three stakeholders in a room and ask them what kind of system they want. You’re likely to get four or more different opinions.” • Each of these constituencies (and others) will contribute information to the requirements engineering process. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 16
  • 17.
    3.WORKING TOWARD COLLABORATION • Thejob of a requirements engineer is to identify areas of commonality (i.e., requirements on which all stakeholders agree) and areas of conflict or inconsistency (i.e., requirements that are desired by one stakeholder but conflict with the needs of another stakeholder). It is, of course, the latter category that presents a challenge. • Collaboration does not necessarily mean that requirements are defined by committee. • s In many cases, stakeholders collaborate by providing their view of requirements, but a strong “project champion”(e.g., a business manager or a senior technologist) may make the final decision about which requirements make the cut. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 17
  • 18.
    4.Asking the FirstQuestion • “It is better to know some of the questions than all of the answers.” • Who is behind the request for this work? • Who will use the solution? • What will be the economic benefit of a successful solution? • Is there another source for the solution that you need? • What problem(s) will this solution address? • Can you show me (or describe) the business environment in which the solution will be used? • Am I asking too many questions? • Can anyone else provide additional information? JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 18
  • 19.
  • 20.
    REQUIREMENTS ANALYSIS • Therequirements model—actually a set of models—is the first technical representation of a systems. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 20
  • 21.
    • The requirementsmodeling action results in one or more of the following types of models: • Scenario-based models of requirements from the point of view of various system “actors” • Data models that depict the information domain for the problem • Class-oriented models that represent object-oriented classes (attributes and operations) and the manner in which classes collaborate to achieve system Requirements. • Flow-oriented models that represent the functional elements of the system and how they transform data as it moves through the system. • Behavioral models that depict how the software behaves as a consequence of external “events” JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 21
  • 22.
    OBJECTIVES • Throughout requirementsmodeling, your primary focus is on what, not how. • The requirements model must achieve three primary objectives: (1) to describe what the customer requires, (2) to establish a basis for the creation of a software design, And (3) to define a set of requirements that can be validated once the software is built. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 22
  • 23.
    Analysis Rules ofThumb • The model should focus on requirements that are visible within the problem or business domain. • The level of abstraction should be relatively high. • Each element of the requirements model should add to an overall understanding of software requirements and provide insight into the information domain, Function, and behavior of the system. • Delay consideration of infrastructure and other non functional models until design. • Minimize coupling throughout the system. • Be certain that the requirements model provides value to all stakeholders. • Keep the model as simple as it can be. [KIS] JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 23
  • 24.
    ELEMENTS OF ANALYSISMODEL JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 24
  • 25.
    SCENARIO-BASED MODELLING • Althoughthe success of a computer-based system or product is measured in many ways, user satisfaction resides at the top of the list. • USE CASE: • A use case captures the interactions that occur between producers and consumers of information and the system itself. • The first two requirements engineering tasks— inception and elicitation —provide you with the information you’ll need to begin writing use cases. • List the functions or activities performed by a specific actor. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 25
  • 26.
    JEEVA DHARSHINI.K ,KONGUENGINEERING COLLEGE,ERODE 26
  • 27.
    REFINING A PRELIMINARYUSE CASE • Can the actor take some other action at this point? • Is it possible that the actor will encounter some error condition at this point? • Is it possible that the actor will encounter some other behavior at this point (e.g., behavior that is invoked by some event outside the actor’s control)? If so, what might it be? JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 27
  • 28.
    Writing a FormalUse Case • The typical outline for formal use cases can be in following manner: • The goal in context identifies the overall scope of the use case. • The precondition describes what is known to be true before the use case is initiated. • The trigger identifies the event or condition that “gets the use case started” • The scenario lists the specific actions that are required by the actor and the appropriate system responses. • Exceptions identify the situations uncovered as the preliminary use case is refined Additional headings may or may not be included and are reasonably self-explanatory JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 28
  • 29.
  • 30.
    JEEVA DHARSHINI.K ,KONGUENGINEERING COLLEGE,ERODE 30
  • 31.
    • Class-based modelingrepresents the objects that the system will manipulate, the operations that will be applied to the objects to effect the manipulation, relationships between the objects, and the collaborations that occur between the classes that are defined. • The elements of a class-based model include classes and objects, attributes, operations, class responsibility collaborator (CRC) models, collaboration diagrams, and packages. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 31
  • 32.
    Identifying Analysis Classes •Analysis classes manifest themselves in one of the following ways: • External entities (e.g., other systems, devices, people) that produce or consume information to be used by a computer-based system. • Things (e.g., reports, displays, letters, signals) that are part of the information domain for the problem. • Occurrences or events (e.g., a property transfer or the completion of a series of robot movements) that occur within the context of system operation. • Roles (e.g., manager, engineer, salesperson) played by people who interact with the system. • Organizational units (e.g., division, group, team) that are relevant to an application. • Places (e.g., manufacturing floor or loading dock) that establish the context of the problem and the overall function of the system. • Structures (e.g., sensors, four-wheeled vehicles, or computers) that define a class of objects or related classes of objects. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 32
  • 33.
    JEEVA DHARSHINI.K ,KONGUENGINEERING COLLEGE,ERODE 33 Safe home : class based modeling
  • 34.
    JEEVA DHARSHINI.K ,KONGUENGINEERING COLLEGE,ERODE 34 1. Retained information: The potential class will be useful during analysis only if information about it must be remembered so that the system can function. 2. Needed services: The potential class must have a set of identifiable operations that can change the value of its attributes in some way. 3. Multiple attributes: During requirement analysis, the focus should be on “major” information; a class with a single attribute may, in fact, be useful during design, but is probably better represented as an attribute of another class during the analysis activity. 4. Common attributes: A set of attributes can be defined for the potential class and these attributes apply to all instances of the class. 5. Common operations: A set of operations can be defined for the potential class and these operations apply to all instances of the class. 6. Essential requirements: External entities that appear in the problem space and produce or consume information essential to the operation of any solution for the system will almost always be defined as classes in the requirements model.
  • 35.
    JEEVA DHARSHINI.K ,KONGUENGINEERING COLLEGE,ERODE 35
  • 36.
    SPECIFYING ATTRIBUTES • Attributesdescribe a class that has been selected for inclusion in the requirements model. • In essence, it is the attributes that define the class—that clarify what is meant by the class in the context of the problem space. • To develop a meaningful set of attributes for an analysis class, you should study each use case and select those “things” that reasonably “belong” to the class. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 36
  • 37.
    Defining Operations • Operationsdefine the behavior of an object. • Four broad categories: (1) operations that manipulate data in some way (e.g., adding, deleting, reformatting, selecting) (2) operations that perform a computation (3) operations that inquire about the state of an object (4) operations that monitor an object for the occurrence of a controlling event. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 37
  • 38.
    Class-Responsibility-Collaborator (CRC) Modelling • Asimple means for identifying and organizing the classes that are relevant to system or product requirements. • A CRC model is really a collection of standard index cards that represent classes. • The CRC model may make use of actual or virtual index cards. The intent is to develop an organized representation of classes. • Responsibilities are the attributes and operations that are relevant for the class. i.e., a responsibility is “anything the class knows or does” . • Collaborators are those classes that are required to provide a class with the information needed to complete a responsibility. • In general, a collaboration implies either a request for information or a request for some action. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 38
  • 39.
    JEEVA DHARSHINI.K ,KONGUENGINEERING COLLEGE,ERODE 39
  • 40.
    JEEVA DHARSHINI.K ,KONGUENGINEERING COLLEGE,ERODE 40
  • 41.
    • The cardsare divided into three sections. • Along the top of the card you write the name of the class. • In the body of the card you list the class responsibilities on the left • and the collaborators on the right. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 41
  • 42.
    Classes : Entity classes •Extracted directly from the statement of the problem • Represent things to be stored or persist throughout the development Boundary classes • Create/display interface • Manage how to represent entity objects to users Controller classes • Create/update entity objects • Initiate boundary objects • Control communications • Validate data exchanged. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 42
  • 43.
    RESPONSIBILITIES -- FIVE GUIDELINES I.System intelligence should be distributed across classes to best address the needs of the problem. II. Each responsibility should be stated as generally as possible III. Information and the behavior related to it should reside within the same class. IV. Information about one thing should be localized with a single class, not distributed across multiple classes. V. Responsibilities should be shared among related classes, when appropriate JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 43
  • 44.
    Collaborations : A classmay collaborate with other classes to fulfill responsibilities • If a class cannot fulfill every single responsibility itself, it must interact with another class • Collaboration refers to identifying relationships between classes  is-part-of relationship • Aggregation  has-knowledge-of relationship: one class must acquire information from another class • Association  depends-upon relationship: dependency other than the above two JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 44
  • 45.
    Associations and Dependencies •Multiplicity defines how many of one class are related to how many of another class. • An association defines a relationship between classes. An association may be further defined by indicating multiplicity. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 45
  • 46.
    JEEVA DHARSHINI.K ,KONGUENGINEERING COLLEGE,ERODE 46
  • 47.
    Analysis Packages • Animportant part of analysis modeling is categorization. • That is, various elements of the analysis model (e.g., use cases, analysis classes) are categorized in a manner that packages them as a grouping—called an analysis package—that is given a representative name. JEEVA DHARSHINI.K ,KONGU ENGINEERING COLLEGE,ERODE 47
  • 48.
    JEEVA DHARSHINI.K ,KONGUENGINEERING COLLEGE,ERODE 48