Requirement Analysis - PowerPoint PPT Presentation

About This Presentation
Title:

Requirement Analysis

Description:

7. Types of objects cont ... Identify forms and windows the user needs to enter data ... Review diagrams for Waterfall, Boehm's Spiral, Incremental ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 23
Provided by: clar47
Learn more at: http://users.cs.fiu.edu
Category:

less

Transcript and Presenter's Notes

Title: Requirement Analysis


1
Requirement Analysis
CEN 4010 Class 10 09/29
  • Review of Class 9
  • Overview of Analysis
  • Analysis Concepts
  • From Use Cases to Objects

2
Overview of Analysis
  • Analysis focuses on producing a model (analysis
    model) of the system that is correct, complete,
    consistent, and verifiable.
  • The analysis model is composed of three
    individual models
  • Functional model represented by use cases and
    scenarios.
  • Analysis object model represented by class and
    object diagrams.
  • Dynamic model represented by state charts and
    sequence diagrams.

3
Overview of Analysis cont
  • Focuses on structuring and formalizing the
    requirements elicited from users.
  • This formalization leads to new insights and the
    discovery of errors in the requirements.
  • The requirements specifications is updated to
    reflect insights gained during analysis, then
    review the changes with the client and the users.
  • Translating a requirements spec into a formal or
    semiformal model forces developers to identify
    and resolve difficult issues early in the
    development.

4
Overview of Analysis cont
UML activity diagram the products of
requirements elicitation and analysis. Fig 5-2 P.
175
Requirements Elicitation
Requirements Specification
nonfunctional requirements
functional model
Analysis
Analysis model
dynamic model
analysis object model
System Design
Object Design
5
Analysis concepts Types of Objects
  • The analysis object model contains entity,
    boundary, and control objects.
  • Entity objects - persistent information tracked
    by the system.
  • Boundary objects - interactions between the
    actors and the system.
  • Control objects - tasks that are performed by the
    user and supported by the system.

6
Types of objects cont
  • UML provides the stereotype mechanism that
    enables the developer to attach meta information
    to modeling elements. E.g., ltltcontrolgtgt
  • Naming conventions can also be used to identify
    the different types of objects in the analysis
    model, e.g., InputControl, ButtonBoundary.

ltltentitygtgt Employee
7
Types of objects cont
  • Example 5.6 Q1. Consider a file system with a
    graphical user interface, such as Macs Finder,
    Windows Explorer, or Linuxs KDE. The following
    objects were identified from a use case
    describing how to copy a file from a floppy disk
    to a hard disk File, Icon, TrashCan, Folder,
    Disk, Pointer. Specify which are entity objects,
    which are boundary objects, and which are control
    objects.

8
Types of objects cont
  • Entity objects File, Folder, Disk
  • Boundary objects Icon, Pointer, TrashCan
  • Control objects none in this example.
  • Example 5.6 Q2. Assuming the same file system as
    before, consider a scenario consisting of
    selecting a file on a floppy, dragging it to a
    folder and releasing the mouse. Identify and
    define at least one control object associated
    with this scenario.

9
Types of objects cont
  • The purpose of a control object is to encapsulate
    the behavior associated with a user level
    transaction. In this example, we identify a
    CopyFile control object, which is responsible for
    remembering the path of the original file, the
    path of the destination folder, checking if the
    file can be copied (access control and disk
    space), and to initiate the file copying.

10
Analysis concepts - Association
  • Recall one of the adornments that apply to
    associations is multiplicity.
  • Multiplicity indicates the number of links that
    can legitimately originate from an instance of
    the class to the association end. Types of
    multiplicity
  • one-to-one has multiplicity 1 on each end.
  • one-to-many has a multiplicity a on one end and
    0..n (or ) or 1..n on the other.
  • many-to-many has multiplicity 0..n or 1..n on
    both ends.

11
Association Examples
one-to-one
1
1
is issued
Student
FIU_IDCard
one-to-many
1
1..
employs
College
Professor
many-to-many
1..
1..
takes
Student
Course
12
Analysis concepts - Generalization
  • Generalization enables us to organize concepts
    into hierarchies. (is-a relationship).
  • At the top of the hierarchy is the general
    concept (e.g., Student), and at the bottom of the
    hierarchy are the most specialized (e.g.,
    Graduate, Undergraduate).
  • Note, inheritance (in OOP) is the mechanism by
    which more-specific elements incorporate the
    structure an behavior of more-general elements.
    (Booch et al.)

13
Generalization cont
Student
Each project should have at least one
generalization in the class design.
ssn string name string
getName() string getSSN() string
Graduate
Undergraduate
UGDegree string
year String
getYear() String
getUGDeg() string
14
From Use Cases to Objects
  • Participating objects form the basis of the
    analysis model.
  • Participating objects are identified by examining
    each of the use cases developed during
    requirements elicitation.
  • Using the natural language description of the use
    cases and an intuitive set heuristics, objects
    can be identified. (Abbot 83)
  • See table on the next slide

15
From Use Cases to Objects cont
Part of speech Model component Examples
Proper noun Object Peter
Common noun Class Faculty
Doing verb Operation Teaches, grades
Being verb Inheritance Is a kind of, is one of either
Having verb Aggregation Has, consist of, includes
Modal verb Constraints Must be
Adjective Attribute SSN, Office ,
16
From Use Cases to Objects cont
  • Heuristics for identifying objects
  • terms the developers or users need to clarify in
    the use cases.
  • recurring nouns in the use cases.
  • real-world entities that the system needs to keep
    track of.
  • real-world activities the system needs to keep
    track of.
  • data sources and sinks
  • always use the users term.

17
From Use Cases to Objects cont
  • Adv. of using natural language
  • focuses on users terms.
  • developers become familiar with domain jargon.
  • Disadv. of using natural language
  • depends on writing style.
  • natural language is imprecise and ambiguous.
  • In use case there are usually more nouns than
    relevant classes.

18
From Use Cases to Objects cont
  • Entity objects are most common e.g., Student,
    Professor, Course.
  • Boundary objects represent the system interface
    with the actors (people or other systems).
  • Heuristics
  • Identify forms and windows the user needs to
    enter data into the system.
  • Identify notices and messages the system uses to
    respond to the user.
  • Always use the terms of the user not impl.
    technology.

19
From Use Cases to Objects cont
  • Control objects are responsible for coordinating
    boundary and entity objects.
  • Heuristics
  • Identify one control object per use case. If
    more than one control object is required then the
    use case might be too long.
  • Identify one control object per actor in the use
    case.
  • The life span of a control object should be the
    extent of the user session. Beginning and end of
    the control object activation should be easily
    identified.

20
Review Topics for Exam 1
  1. Definitions software engineering, role,
    activity, task, milestone, deliverable, notation,
    method, methodology, use cases, actors.
  2. Software process.
  3. Attributes of good software.
  4. Software process models. Advantages and
    disadvantages of the software process models.
    Review diagrams for Waterfall, Boehms Spiral,
    Incremental Development, and Unified Software
    Process.
  5. UML Types of diagrams and relationships, with
    examples.

21
Review Topics for Exam 1
  • Software Project management
  • charts to develop schedules
  • focus on how it applies to your project e.g.,
    tasks, organization,
  • Requirements elicitation
  • Activities
  • Functional and non-functional constraints
  • The format of a use case given in class.
    Identification of use cases for your team project
    based on decision support.
  • Requirements reviews

22
Review Topics for Exam 1
  • Analysis model
  • Components of the analysis model
  • Purpose of the analysis model.
  • Questions on Project
Write a Comment
User Comments (0)
About PowerShow.com