Unit 2 of 4 · M.Sc IT Sem 2

Unit 2: Requirements and design

Software Engineering notes · PTU syllabus (PGCA1912)

3 min read9 topics10 exam questions
On this page
  1. Unit summary
  2. Understanding requirements
  3. Requirements engineering tasks
  4. Building the analysis model
  5. Flow-oriented modelling: data flow diagrams
  6. Scenario, class and behavioural models in UML
  7. The design process
  8. Design concepts
  9. The design model
  10. Data and architectural design
  11. Key terms
  12. Quick revision
  13. Important questions

Unit summary

Requirements define what to build; design decides how. This unit covers requirements engineering, understanding requirements, building the analysis model, the design process and design concepts, and the design model — data, architectural, interface, component-level and deployment-level design elements.

After this unit you can

  • Explain requirements engineering tasks
  • Build analysis models
  • Apply design concepts
  • Describe the elements of the design model

PTU syllabus topics

  • Requirements engineering and understanding software requirements
  • building the analysis model
  • the design process and concepts
  • the design model — data
  • architectural
  • interface
  • component-level and deployment-level design elements
ClassificationElements of the design model
Design model
  • Data design

    Data structures and databases

  • Architectural design

    Overall structure

  • Interface design

    UI and system interfaces

  • Component-level design

    Internal logic of modules

  • Deployment design

    Hardware and environment

1

Topic 1

Understanding requirements

ComparisonTypes of requirements
Functional
Non-functional

Describes

What the system must do

How well it must do it

Examples

"Student can register for a course"; "System generates a fee receipt"

Response under 2 seconds; 99.9% availability; data encrypted

Testing

Tested by functional tests

Tested by performance, security, usability tests

A Software Requirements Specification (SRS) documents all requirements. A good SRS is correct, unambiguous, complete, consistent, verifiable, modifiable and traceable.

2

Topic 2

Requirements engineering tasks

ProcessRequirements engineering
  1. 1

    Inception

    Understand the problem and stakeholders

  2. 2

    Elicitation

    Interviews, questionnaires, observation, workshops, use cases

  3. 3

    Analysis and negotiation

    Resolve conflicts, prioritise

  4. 4

    Specification

    Write the SRS

  5. 5

    Validation

    Reviews, prototypes, test-case generation

  6. 6

    Management

    Track changes with traceability

Exam tip

Requirements must be validated with the customer before design — fixing a requirement error after delivery can cost many times more than fixing it early.

Key termsEliciting requirements
Collaborative requirements gathering
Joint meetings of customers and developers
Quality function deployment (QFD)
Normal, expected and exciting requirements
Usage scenarios
Use cases describing how actors use the system
Elicitation work products
Statement of need, scope, stakeholder list, scenarios, prototypes
3

Topic 3

Building the analysis model

ClassificationElements of the analysis model
Analysis model
  • Scenario-based

    Use cases, use-case diagrams, activity and swimlane diagrams

  • Class-based

    Class diagrams, CRC (class–responsibility–collaborator) cards

  • Behavioural

    State diagrams, sequence diagrams

  • Flow-oriented

    Data flow diagrams, control flow, process specifications

  • Analysis rules of thumb: focus on visible requirements, keep abstraction high, add value for all stakeholders, minimise coupling, keep the model simple.
4

Topic 4

Flow-oriented modelling: data flow diagrams

  • DFD: models how data moves and is transformed; drawn top-down as a context diagram (level 0) refined into level 1 and level 2.
Key termsDFD notation
External entity (rectangle)
Producer or consumer outside the system
Process (bubble)
Transformation of data
Data flow (arrow)
Data in motion
Data store (parallel lines)
Data at rest
  • Rules: every process has at least one input and output; data cannot flow directly between two entities or two stores; balance flows between levels; number processes 1.0, 1.1 and so on.

Example

Library context diagram: entities Member and Librarian exchange issue requests, return details and reports with the single process "Library Management System".

5

Topic 5

Scenario, class and behavioural models in UML

DiagramShows
Use case diagramActors and the functions (use cases) they use
Class diagramClasses, attributes, operations and relationships
Sequence diagramMessages between objects in time order
Collaboration (communication) diagramObject interactions, focusing on links
Component diagramPhysical software components and their interfaces

Example

Use case diagram for a library: actors Student and Librarian; use cases Search Book, Issue Book, Return Book, Pay Fine.

6

Topic 6

The design process

  • Design translates the analysis model into a blueprint; it is iterative, moving from high abstraction to detail.
Key termsDesign quality guidelines
Architecture
Recognisable styles and patterns, built from components
Modularity
Logically partitioned into elements
Distinct representations
Data, architecture, interfaces, components
Appropriate data structures
For the classes to be implemented
Independent components
Functional independence
Simple interfaces
Reduced complexity of connections
Repeatable method
Driven by requirements analysis
Effective notation
Communicates meaning clearly
7

Topic 7

Design concepts

Design quality guidelines: a design should implement all requirements, be readable and understandable, and give a complete picture of data, functions and behaviour.

Key termsFundamental design concepts
Abstraction
Focus on essentials, hide detail
Architecture
Overall structure of components
Modularity
Divide software into separately named modules
Information hiding
Modules hide internal details
Functional independence
High cohesion, low coupling
Refinement
Step-wise elaboration of detail

Exam tip

High cohesion (each module does one thing well) and low coupling (modules depend little on each other) is the mark of good design.

8

Topic 8

The design model

HierarchyDesign model elements
  1. Deployment-level design

    How software and subsystems are allocated to physical computing nodes (deployment diagram)

  2. Component-level design

    Internal detail of each component — algorithms, data structures, interfaces

  3. Interface design

    User interface, external interfaces to other systems, internal interfaces between components

  4. Architectural design

    Overall structure — styles, subsystems and their relationships

  5. Data design

    Data structures, database and data warehouse design from the data model

9

Topic 9

Data and architectural design

Software architecture is the structure of a system: its components, their properties and relationships. Common styles: data-centred, data-flow (pipe and filter), call-and-return, layered, object-oriented and client-server. Data design turns the data model from analysis into data structures and database designs.

Key terms

Requirements engineering
Tasks to understand and document what the customer needs
Use case
Description of how an actor interacts with the system
CRC card
Index card listing a class, its responsibilities and collaborators
Design model
Blueprint with data, architectural, interface, component and deployment elements
Deployment diagram
UML view of software placed on hardware nodes

Quick revision

  • Functional and non-functional requirements; SRS qualities.
  • Inception, elicitation, elaboration, negotiation, specification, validation, management.
  • Scenario, class, behavioural and flow models; DFD; UML diagrams.
  • Design guidelines and concepts: abstraction, architecture, patterns, modularity, information hiding, functional independence, refinement.
  • Data, architectural, interface, component and deployment design.

Important exam questions

Practice questions written to the PTU exam pattern for this unit's syllabus: short answers (Section A style) and long answers (Sections B and C style).

Short-answer questions

  1. Q1.Distinguish functional and non-functional requirements.
  2. Q2.What is QFD?
  3. Q3.Name the elements of the analysis model.
  4. Q4.What is a CRC card?
  5. Q5.Distinguish cohesion and coupling.
  6. Q6.What does a deployment diagram show?

Long-answer questions

  1. Q1.Explain requirements engineering tasks.
  2. Q2.Explain how the analysis model is built.
  3. Q3.Explain the design process and design concepts.
  4. Q4.Explain the elements of the design model.

Stuck on this unit?

Message SBS on WhatsApp for help with Software Engineering, or to ask about studying M.Sc IT at Synetic.

WhatsApp us