Requirements Definition and Specification. Outline Definition and specification Natural language Semi-formal techniques –Program description languages.

Slides:



Advertisements
Similar presentations
Topics covered The requirements engineering process
Advertisements

Software Requirements
Classic Analysis CS524 – Software Engineering I Azusa Pacific University Professor Dr. Sheldon X. Liang.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Chapter 9 Describing Process Specifications and Structured Decisions
1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Software Requirements
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
CS 425/625 Software Engineering Software Requirements
Software Requirements
Physical design. Stage 6 - Physical Design Retrieve the target physical environment Create physical data design Create function component implementation.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 9 Using Data Flow Diagrams
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements 2.
Software Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Slide 1 Chapter 4 Software Requirements. Slide 2 Objectives l To introduce the concepts of user and system requirements l To describe functional and non-functional.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
ITEC224 Database Programming
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
AGU COE/COC Software Engineering CSE 402 / CSC 308 Slide 1 Requirements engineering l The process of establishing the services that the customer requires.
Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 5 and 6 Slide 1 Requirements Engineering l.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
Chapter 7 System models.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
CSC 395 – Software Engineering Lecture 28: Classical Analysis -or- Do You Really Want to Do That?
SYSTEMS ANALYSIS AND DESIGN TOOLS DATA FLOW DIAGRAMS.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
Requirements Analysis
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
CSC480 Software Engineering Lecture 7 September 16, 2002.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
1 Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Software Engineering, COMP201 Slide 1 Software Requirements.
Chapter 4 – Requirements Engineering
Software Requirements
Objectives Importance of Requirement Engineering
Use Case Model.
Entity-Relationship Model
SSA(D) vs OOAD M. Pickard CSC 513.
Software Requirements
Abstract descriptions of systems whose requirements are being analysed
CSC480 Software Engineering
System Requirements Specification
Requirements Engineering
Software Requirements
Requirements Reference: Software Engineering, by Ian Sommerville, 6th edition, Chapters 5, 6, & 8.
Presentation transcript:

Requirements Definition and Specification

Outline Definition and specification Natural language Semi-formal techniques –Program description languages –Structured systems analysis –Entity-relationship modeling Formal techniques –Finite state machines –Petri nets Non-functional requirements

Definition vs. Specification Requirement definitions are customer-oriented. –Written using natural language and easy to understand diagrams. Requirement specifications are oriented towards the software designer. –More precise description of functionality and constraints.

Characteristics of requirements Precise Complete Consistent Unambiguous Understandable Verifiable –A set of checks should be defined to verify that the delivered system meets the requirement.

Natural Language Problems Lack of Clarity It is very difficult to use language in a precise and unambiguous way without making the document wordy and difficult to read. Requirements confusion Functional and non-functional requirements, system goals, and design information may not be clearly distinguished. Amalgamation: Several different requirements may be expressed as a single requirement.

Example: A CASE tool 2.6 Grid facilities. To assist in the positioning of entities on a diagram, the user may turn on a grid in either centimeters or inches, via an option on the control panel. Initially, the grid is off. The grid may be turned on and off at any time during an editing session and can be toggled between inches and centimeters at any time. A grid option will be provided on the reduce-to-fit view but the number of grid lines shown will be reduced to avoid filling the smaller diagram with grid lines.

Example: Use of standard format 2.6 Grid facilities The editor shall provide a grid facility where a matrix of horizontal and vertical lines provide a background to the editor window. This grid shall be a passive grid where the alignment of entities is the user’s responsibility. Rationale: A grid helps the users to … Although an active grid … the user is the best person to decide where entities should be positioned When used in ‘reduce-to-fit’ mode (see 2.1), the number of units separating grid lines must be increased. Rationale: If line spacing is not increased, the background will be very cluttered with grid lines.

Requirement Specification Methods Structured natural language –Standard forms, templates, decision tables Program description languages –Abstract features to specify requirements by defining an operational model Requirements specification languages –Special purpose languages with tool support Graphical notations Mathematical specifications

Structured Natural Language Information should include: Description of entity or function being specified Inputs (and where they come from) Outputs (and where they go) What other entities/functions are used Pre-conditions and post-conditions (if functional approach is used) Side-effects

Program description languages Describe requirements operationally Derived from programming languages like Ada May contain additional, more abstract constructs procedure ATM is PIN: Pin_no; Balance: Amount; Service: Available_services; Valid_card, Valid_PIN: Boolean; begin loop Get_card(Acc_no, PIN, Valid_card); if Valid_card then Validate_PIN(PIN, Valid_PIN); if Valid_PIN then Get_account(Acc_no, Balance); Get_service(Service); while a service is selected loop Deliver_selected_service; Get_service(Service);

PDL’s (2) Advantages –May be checked syntactically and semantically be software tools –Descriptions of sequences of actions in natural language are often confusing. May be used in conjunction with natural language when more detail is required. –PDL allows more detail about interfaces between sub-systems which are often defined in the requirements (particularly if some sub-systems already exist) –More natural transition from requirements to design Disadvantages –May not be expressive enough to describe problem domain concepts –Design decisions may be made too early

Structured systems analysis Double Square arrow Rounded Rectangle Open-ended Rectangle Source or destination of data Flow of data Process which transforms a flow of data Store of data

Structured systems analysis (2) Example: Computerizing Sally’s Software Shop Step 1. Draw the data flow diagram (DFD). –Refine stepwise Customer Verify order Package Data Customer Data Assemble orders Place order with supplier Pending Orders Software supplier order package details credit status batched order address / phone number invoice details of pkg on hand details of pkg to order

Structured systems analysis (3) Step 2. Decide what sections to computerize and how (e.g. batch or online). Step 3. Put in the details of the data flows. Order: Order identification Customer details Package details –Continue stepwise refinement

Structured systems analysis (4) Step 4. Define the logic of the processes. –Details of what happens within each process –Use decision trees where appropriate Give educational discount Educational institution Other: no discount <= 4 packages: 10% discount > 4 packages: 15% discount

Structured systems analysis (5) Step 5. Define the data stores. –Exact contents and representation Step 6. Define the physical resources. –File names, organization, storage media, etc. –Or, the DBMS to be used and database schema Step 7. Determine input/output specifications. –Format of input, user screens, etc. –Output format

Structured systems analysis (6) Step 8. Perform sizing. –Size of inputs and outputs –Frequency of inputs and reports, report deadlines –Size and number of records that are transferred between primary and secondary storage Step 9. Determine the hardware requirements.

Entity-relationship Modeling Emphasis on data rather than processes MoviesStarsStudios Persons name titleyearnameaddress birthdate OwnsStars in isa inheritance attribute entity set relationship set

E/R Modeling (2) Multiplicities of relationships zero or more zero or one one n at most 10 =1 =n <11

E/R Modeling (3) Relationships involving more than two entities MoviesStars Studios salary Contract

Petri nets Useful for describing concurrent activities Petri nets consist of: –A set of places –A set of transitions –An input function (maps transitions to places) –An output function (maps transitions to places) A marking is an assignment of tokens Input and output functions are shown as arcs A transition can fire when for each of its input arcs (and none of its inhibitor arcs) there is a token for the source of the arc When a transition fires, tokens are placed at the target of each output arcs

Petri nets (2) t1 t2 t1 t2 After t1 and t2 fire

Petri nets (3) t1 t2 t1 t2 After t2 fires twice

Petri nets (4) Elevator buttons EB f pressed Elevator moving from g to f FfFf FgFg

Non-functional requirements Product OrganizationalExternal ReliabilityPortabilityEfficiencyEthicalLegislativeInteroperability ImplementationStandardsDelivery PrivacySafety TimeSpace Non-functional requirements