Download presentation
Presentation is loading. Please wait.
Published byBarbra Watson Modified over 8 years ago
1
1 CEN 4020 Software Engineering PPT4: Requirement analysis
2
2 Process for capturing requirements Requirements are expressions of desired behavior. It is what something can do and what states that something can be in. Steps of capturing requirements Capturing requirements can be broken down into the following parts: Elicitation – collecting requirements as defined by the user Analysis – Comprehending and modeling the behavior that is expected Specification – Recording the behavior of the proposed system Validation – Ensuring that the specs proposed meet the requirements of the user
3
3 Process for capturing requirements The above figure illustrates the process of capturing requirements explained on the previous slide.
4
4 How users and developers view each other How developers view users Users often change their minds because they weren’t sure what they wanted in the first place. How users view developers Developers often have trouble remembering to talk in very high- level terms to the user. The developer has to remember that the user doesn’t have a computer science degree.
5
5 How users and developers view each other
6
6 Sources of requirements
7
7 Requirement documentation There are two kinds of requirements documents Requirements definition – documents specifying everything the customer wants to accomplish Requirements specification – reaffirms the requirements as a specification of behavior of the proposed system
8
8 Importance of requirement analysis
9
9 Take away points from the previous slide – It is important to note that over 13% of failed projects are caused by incomplete requirements with lack of user involvement being the second most common cause. Cost of fixing a bug: $1 to fix a requirement-based problem $5 to fix the problem at design time $10 to fix during coding $20 during unit testing $200 after delivery of the system
10
10 Types of requirements The different forms of requirements are the following: Quality requirement – A quality trait that the software solution needs to have (ex.: intuitive/easy to use) Design constraint – Design decision that decreases number of solutions to the proposed problem Process constraint – A constraint on the resources that can be used to implement the system.
11
11 Characteristics of requirements The following characteristics are wanted of requirements: Requirements that are correct Requirements that are consistent Requirements that are clear Requirements that are complete Requirements that are achievable Requirements that are relevant Requirements that can be tested Requirements that can be traced
12
12 Modeling notations Entity-Relationship Diagram Graphical notational paradigm for representing conceptual methods
13
13 Modeling notations UML Class Diagram Unified Modeling Language (UML) Collection of notations used to document software specs and designs
14
14 Modeling notations Event Trace A graphical description of a sequence of events that are exchanged between real-world entities. Vertical lines represent the timeline for an entity Horizontal lines represent an interaction between two entities bounding that line
15
15 Modeling notations Message Sequence Chart An enhanced event-trace notation, with conveniences for making and removing entities, specifying actions and timers, and building traces
16
16 Modeling notations State Machine Graphical description of interaction between the system and environment Nodes represent states Edges represent transitions between states
17
17 Modeling notations UML State-chart Diagram Dynamic behavior of objects in a UML class Shows how instances of a class should change state and how their fields should change value throughout object interaction
18
18 Modeling notations Petri Nets Form of state-transition notation that is used to exemplify activities and their interactions
19
19 Modeling notations Data flow diagram Models functionality and flow of data from one function to another Use case diagram Depicts observable, user-initialized functionality in terms of interactions between system and environment
20
20 Modeling notations Formal methods Mathematically based specs and design techniques Decision Table Tabular representation of a functional spec that maps events and circumstances to corresponding actions
21
21 Modeling notations Parnas Table Collection of table types and abbrev. plans for forming and simplifying functional and relational expressions First order logic – commonly used to express properties of software requirements Temporal logic – used to express pending changes over time
22
22 Modeling notations Object constraint language Constraint language that is mathematically precise and high-level (for non-mathematic people)
23
23 Modeling notations Z Requirements spec language that forms set-theoretic definitions of variables into a abstract-data-type model
24
24 Prototyping requirements Two approaches to prototyping Throwaway prototyping Developing software to learn more about the solution to a problem and the problem itself Not part of the final product Evolutionary prototyping Software developed to comprehend the problem and the solution Incorporated into the final product Rapid prototyping comprises both throwaway and evolutionary prototyping because software is developed to learn more about the requirements
25
25 Prototyping requirements Examples (Prototypes for a calendar system)
26
26 Documenting requirements Documentation is needed for each team to have the ability to make contributions and ensure the requirements are understood The definition document is a document of the requirements expressed by the customer It is what the customer should see from the final product Outline the system’s general purpose and scope The reason behind the proposal for a new system The important features of a suitable solution System’s environment Description of the customer’s potential proposal for a solution to the problem Assumptions about environment behavior
27
27 Documenting requirements The specification document is a document similar to the definition document expressed by the developer This document is written in terms of the product’s interface Description of inputs, outputs, and other topics pertaining to the system interface Required functionality of the system regarding inputs and outputs Conditions for the customer’s feature requirements
28
28 IEEE standard for requirement specification The IEEE standard provides outlines for organizing the requirements specification by categories including capability and user type
29
29 Participants in the requirement process There are many sources that have something to give towards the requirements The clients – decision makers The customers – Important to build something that attracts the customer. May also be a user The users – Very familiar with the system. May also be the customer. Domain experts – Knowledgeable of the field in which the system will be used Market researchers – Know about potential customers Lawyers – Ensure that no legal boundaries are crossed Tech experts – Contribute to customer education
30
30 Validation and verification The requirements documents act as a contract between the developers and the customer The requirements should be reviewed to ensure validation and verification Requirements validation Ensure the requirements definition match customer needs Requirements verification Ensure that building a system according to the requirements specification document will be a final product that will meet the customer’s requirements
31
31 Validation and verification
32
32 Measuring requirements Requirements can be measured in several different ways Measurements often focus on product, process, and resources Requirement readiness (see the example below depicting a scale 1 to 5)
33
33 Choosing a specification language Selection criteria Applicability Implement ability Testability Check ability Maintainability Modularity Abstraction level Soundness Verifiability Runtime safety Tools maturity Looseness Learning curve Technique maturity Data modeling Discipline
34
34 Choosing a specification language
35
35 Examples of modeling notations
36
36 Examples of modeling notations
37
37 Examples of modeling notations
38
38 References Information and illustrations from: Pfleeger and Atlee, Software Engineering Theory and Practice, 4 th Edition. http://i.imgur.com/ozJipmd.jpg
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.