Software Requirements Concepts: A Comprehensive Guide for Developers, Lecture notes of Applied Computing

Requirement Concepts • Requirement Modeling • Modeling Tools: –OOAD: Use Case, Activity Diagram, State Machine Diagram –SSADM: Data Flow Diagram, Entity Relationship Diagram

Typology: Lecture notes

2021/2022

Uploaded on 04/21/2022

tien-anh-hoang
tien-anh-hoang 🇻🇳

5

(1)

1 document

1 / 32

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Requirement Concepts
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20

Partial preview of the text

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/