Download Software Requirements Concepts: A Comprehensive Guide for Developers and more Lecture notes Applied Computing in PDF only on Docsity!
Software Requirement Concepts
• Requirement Concepts
• Requirement Modeling
• Modeling Tools:
– OOAD: Use Case, Activity Diagram, State Machine Diagram
– SSADM: Data Flow Diagram, Entity Relationship Diagram
Agenda
- Why do we need requirement definition? Requirement Concepts Requirement Definition 2/ (Tire swing picture from 1970s)
- Purpose of requirement:
- Requirements often serve as:
- The basis for a bid for a contract - therefore must be high-level to open for interpretation
- The basis for the contract itself - therefore must be detailed
- Thus, requirements can be high-level or detailed
- What are not Requirements:
- Design or implementation details (other than known constraints)
- Project planning information
- Testing information Requirement Concepts Requirement Definition 3/
- Requirement may be classified as
- Functional
- A service the system has to perform
- May include information the system must contain
- Non-functional
- A constraints the system must satisfy
- “Functional requirements deal with the What, non functional requirements deal with the How” (Ariel Schlesinger)
[1]
Requirement Concepts Requirements Classification 2/
• Sample of functional requirements
– The “Data Entry Module” should provide the following
functionality:
• Data Entry for HR: allows HR staff to enter payroll data and the
like, either via web-based forms or by importing data from
Excel files
• Data Entry for Regional offices: allows the Regional offices to
enter billing data, either via web-based forms or by importing
data from Excel files
Requirement Concepts Requirements Classification 3/
• Sample of non-functional requirements
– External requirements
• Requirements which arise from factors which are external to
the system and its development process.
• Categories: interoperability requirements, legislative
requirements,…
Requirement Concepts Requirements Classification 5/
- Why requirement modeling? Requirement Modeling Modeling objectives
To understand
clearly the
functionalities of
system
To present the
system from
different
perspectives
- Object Oriented Analysis and Design (OOAD):
- Dynamic (or Behavioral) Model : emphasizes the dynamic behavior of the system by showing collaborations among objects and changes to the internal states of objects.
- Static (or Structural) Model : emphasizes the static structure of the system using objects, attributes, operations and relationships. Requirement Modeling System Modeling 2/
- Structured systems analysis and design method (SSADM):
- Logical data model : the data requirements of the system being
designed. A data model containing entities, attributes and
relationships. (Entity Relationship Diagram – ERD)
- Data Flow Diagram (DFD) : how data moves around an information
system.
- Entity Event Model :
- Entity Behavior Model : the events that affect each entity and the sequence.
- Event Model : designing for each event the process to coordinate entity life
histories.
Requirement Modeling System Modeling 3/
- Requirements capture
- Requirements are reason-for-existence of any software development project
- Defines and delineates user-requirements
- Defines the functionality to be provided
- Identifies the goals to be achieved
- Must be precisely and completely understood
- Requirements often changes, thus must be well- documented Modeling Tools - Use Case Use Case Concepts 1/
• Requirements capture with UML
– Use Case diagram
• Shows a set of use cases, actors and their relationships
– Captures problem-domain in terms of:
• functionality to be provided (Use Cases)
• the “roles” (Actors) for whom these functions are performed
Modeling Tools - Use Case Use Case Concepts 2/
Association: An association between an actor and a use case indicates that the actor and the use case somehow interact or communicate with each other. Extend relationship: A directed relationship specifies that one use case (extension) extends the behavior of another use case (base). Extension use case is meaningful on its own, it is independent of the base use case. Include relationship: A directed relationship in which one use case (the base use case) includes the functionality of another use case (the inclusion use case). The include relationship supports the reuse of functionality in a use-case model. The inclusion use case cannot stand alone and the base use case is not complete without the inclusion one. Generalization relationship: A taxonomic relationship in which one actor/use case (the child) is based on another actor/use case (the parent). The child actor/use case inherits the features of the parent. Modeling Tools - Use Case Use Case Diagram - Notations
- A company wants to develop a ticketing and reservation system. This must support advance booking of tickets, cancellation of tickets and change of class of a ticket. All these are handled by a Reservation Clerk.
- The system will also have a Web site where users can register themselves and purchase tickets online. They can pay either by using their online banking account or by credit card. Reservations made over the internet can only be cancelled across the counter.
- The system will also have a querying facility that allows users to check train time-tables , fares and availability of tickets. Modeling Tools - Use Case Use Case – Example 1/