Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system...
-
Upload
arthur-thompson -
Category
Documents
-
view
231 -
download
2
Transcript of Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system...
![Page 1: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/1.jpg)
Chapter 3
Object-Oriented Analysis
![Page 2: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/2.jpg)
Requirements Analysis
A requirement is a feature of the system Requirements analysis seeks to assess and
specify the behavior of the final system Requirements analysis can be iteratively
carried out or done in a top-down fashion It is desirable to establish the breadth of
behavior of a system to determine the primary classes that will comprise the system
![Page 3: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/3.jpg)
The Importance of Requirements Analysis Frederick Brooks: “The hardest single
part of building a software system is deciding precisely what to build”
Barry Boehm: by investing more up-front effort in verifying and validating the software requirements, software developers will see reduced integration and test costs, as well as higher software reliability and maintainability
![Page 4: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/4.jpg)
Examples of Good Requirements Analysis
Participatory analysis Involves staff members of all levels from
the domain area interacting directly with the development team
Negotiation-based technique Developed by USC Center for Software
Engineering Collaborative analysis approach involving
end-users
![Page 5: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/5.jpg)
Requirements Specification
Requirements analysis results in a complete, consistent, correct, and unambiguous requirements specification
The initial specification may be created by the end users or by the technical staff
Independent of the source of the initial specification it must be refined and verified to be correct and complete
![Page 6: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/6.jpg)
Possible Elements of Requirements Specification
Supported activity list Human-computer interface description solved problem list Information source list Information requesting organization list Checks and balances Security and fault-tolerant requirements
![Page 7: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/7.jpg)
More: Possible Elements of Requirements Specification
Inter-operating systems list Estimates of present information capacity
and projected growth Project time frame Prioritization of requirements Ethical concerns list
![Page 8: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/8.jpg)
Case Study: Library Management System Independent of who creates the
requirements specification (end users or technical staff), it is the responsibility of the system developers to ensure the user requirements are adequately fleshed out
The first step of requirements analysis is to establish and refine the problem statement which takes the form of the requirements specification
![Page 9: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/9.jpg)
LMS Case Study: Clarifying the Requirements Specification
What sort of human-computer interface is envisioned?
What sort of search facility is necessary for library patrons?
Will patrons be assigned a unique ID number?
Should the system support inter-library loan requests?
![Page 10: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/10.jpg)
LMS Case Study: More Clarifying the Requirements Specification Are there any limits on patrons’ use of research
databases? How are books retired from the library collection? How long are requested books held for patrons? Are overdue fees the same for all type of library
resources? Which online databases will the system interact
with?
![Page 11: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/11.jpg)
Creating Quality Requirements Specifications
The key is to keep in close communication with the end users throughout the development process, but especially during requirements analysis
Ideally, a whole array of different end users should be involved with the development team to gain sufficient breadth of input
![Page 12: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/12.jpg)
LMS Case Study: Supported Activity List
Support Library staff activities like checking out resources to patrons
Validating patrons Current membership No resources more than two weeks overdue Not over maximum of checked resources
Assigning library numbers to patrons
![Page 13: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/13.jpg)
LMS Case Study: More Supported Activity List
Deleting expired library numbers and associated patron records
Checking out library resources: books,CDs, etc Checking in library resources Changing the status of a library resource Allowing materials to be placed on reserve Allowing the searching of the library’s holdings
on line Additional activities listed in text
![Page 14: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/14.jpg)
Other Elements of the LMS Requirements Specification
Human-computer interface Solved problems list Information source list Information requesting organizations Automated checks and balances Security and fault-tolerant requirements Present information capacity and projected
growth
![Page 15: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/15.jpg)
More Elements of the LMS Requirements Specification
Projected time frame Prioritization of requirements Ethical concerns
Who has access of borrowing history of patrons?
How are children protected from questionable materials found on the Internet?
![Page 16: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/16.jpg)
Verifying Requirements
A structured walkthrough with the end users is a good technique for ensuring that the user needs are being addressed
To ensure that the resulting software supports the requirements specification, items on the supported activity list are numbered and propagated through the software models and source code
![Page 17: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/17.jpg)
The Process of Requirements Analysis
Create verified requirements specification Create list of primary classes Create informal scenarios Create use cases Create scenarios Create class diagrams Create use case diagrams
![Page 18: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/18.jpg)
Determining Primary Classes
Select nouns from the requirements specification and inspect each noun for the following properties Retained information Needed services Multiple attributes Common attributes Common operations Essential requirements
![Page 19: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/19.jpg)
LMS Case Study:Primary Classes
Patron Student, faculty, library staff Resource Book, music CD, video, software Reference resource, reserved resource,
requested resource, online research resource Inter-library loan request Overdue charge Overdue form letters
![Page 20: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/20.jpg)
Identifying Use Cases A use case is a description of a scenario (or
closely related set of scenarios) in which the system interacts with users of the system
The behavior of the system is expressed without specifying how the behavior is implemented
Use cases are initially described narratively, and then modeled graphically by class diagrams and interaction diagrams (to be discuss later)
Informal scenarios are a good starting point for use cases
![Page 21: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/21.jpg)
Characteristics of Use Cases Use cases are more abstract than
informal scenarios A single use case may encompass
multiple scenarios Use cases avoid redundancy Use cases are more formally structured
than scenarios Use cases seek to capture complete
breadth of system behavior
![Page 22: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/22.jpg)
Use Case Layout
Precondition What conditions must be true at the beginning of the
use case? Main flow of events
Describe the essential behavior associated with the use case
Post condition What occurs as a result of the use case executing
Exceptional flow of events ( zero to many) Enumerate possible erroneous flow of events
![Page 23: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/23.jpg)
LMS Case Study: Use Cases
Validate patron Check out resource Check in resource Request resource Reserve resource Manage Resource Manage Patron Generate from letter
![Page 24: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/24.jpg)
LMS Case Study: Check out Resource Use Case
Precondition Library staff and patron validated to LMS Library DB initialized
Main flow of events Enter resource Determine due date
Exceptional flow of events Patron ID not valid Patron has over due resources or too many checked Resource number not valid
![Page 25: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/25.jpg)
More LMS Case Study: Check out Resource Use Case
Postcondition Patron DB entry updated to reflect new
resource Resource DB entry updated to reflect
changed status: checked out Due date assigned to the resource DB entry
![Page 26: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/26.jpg)
Scenario Development Scenarios are derived from use cases Scenarios are like informal scenarios, but are more
formally structured Informal scenarios may be modified to produce
scenarios Use cases are abstract because they do not reference
specific values Scenarios are concrete because they do reference
specific values Multiple scenarios may be required for a single use
case
![Page 27: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/27.jpg)
Modeling the System with UML
The process of modeling parallels and supports the process of understanding the system requirements
Two types of models support the analysis process Class diagrams Use case diagrams
![Page 28: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/28.jpg)
Class Diagrams
Models the composition of classes and the essential relationships between classes
Models a static perspective of the system May expresses a more or less abstract
representation of the system The notational building blocks
Classes Interfaces Relationships Collaborations
![Page 29: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/29.jpg)
Notational Elements of Class Diagrams
Class Name
Class Detailed Class Interface
Relationships:Dependency Association Generalization
Collaboration
CollaborationName
![Page 30: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/30.jpg)
LMS Case Study: Class Diagram
Requests
Browses
Checks out
ReturnsPatron Resource
Overdueform Letter
lists
Library staffgenerates
proce
sses
deletesad
ds
reshelv
es
![Page 31: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/31.jpg)
LMS Case Study: Class Diagram for Check out Resource
Resource
Software Book Music CDVideo
PatronLibrarystaff
processesChecks out
![Page 32: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/32.jpg)
Use Case Diagrams
Use case diagrams depict use cases interacting with external actors
External actors are entities that interact with the software system, like system users, databases, or books
Use cases represent system requirements and show a functional partitioning of the system
Functional partitioning is useful for a dividing a system into smaller pieces
![Page 33: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/33.jpg)
Notational Elements of Use Case Diagrams
Use casename
Actor Use case
Relationships:Dependency Association Generalization
![Page 34: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/34.jpg)
LMS Case Study: Use Case Diagram
BrowseResource
RequestResource
ReserveResourcePatron Resource
![Page 35: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/35.jpg)
Steps in UCCD Analysis Process Create/refine requirements specification Create informal scenarios Create list of primary classes Create use cases Create scenarios from use cases Create class diagrams showing basic inter-class
relationships Model key class collaborations Create use case diagrams
![Page 36: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/36.jpg)
Evolving the System
Requirements analysis may be done iteratively throughout system development
The system to be developed may be partitioned into development subgoals
Each subgoal has its own requirements analysis phase that it followed by design, implementation, and testing
Each subset of the system is made work before the next subgoal is analyzed
![Page 37: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/37.jpg)
Analyzing the Class Project
List the primary classes Create a basic class diagram showing
aggregation and inheritance Create use cases Create class diagrams Create use case diagrams Create one or more scenarios for each use case Engage in a structured walkthrough with your
instructor
![Page 38: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/38.jpg)
Working in Teams
Development teams should meet at least once a week
A common list of primary classes should be created by the team
The creation of use cases, class diagrams, and scenarios should be divided amongst development team members
The team as a whole should review the individual products to ensure that the pieces fit together
![Page 39: Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.](https://reader035.fdocuments.net/reader035/viewer/2022081511/56649e615503460f94b5cb68/html5/thumbnails/39.jpg)
Additional Pointers for Effective Team Work
The role of the chair is to facilitate discussion Each team member should have equal
opportunity to be heard The meeting chair to make an extra effort to
hear from less aggressive team members Team members should not be interrupted unless
they are being long-winded Everyone should strive to make their points as
concisely as possible