TOPIC 3: Software Requirements -...

16
EKT 421 :SOFTWARE ENGINEERING TOPIC 3: Software Requirements School of Computer & Communication Engineering Semester: 2-2015/2016

Transcript of TOPIC 3: Software Requirements -...

EKT 421 :SOFTWARE ENGINEERING

TOPIC 3:Software Requirements

School of Computer & Communication Engineering

Semester: 2-2015/2016

Learning Outcome

By the end of this session, you should be able to:

Describe the importance of requirement analysis and the process of requirement gathering;

Apply structured analysis techniques to gather software requirements;

Explain the object-oriented approach in analyzing software requirements; and

Illustrate object-oriented techniques for requirement analysis.

Content

Requirement Analysis Structured Analysis Object-Oriented Concept and Analysis

Requirement Analysis (1)

Requirement Analysis (2)

Requirement Analysis (3)

M AIN ACTIVITIES OF REQUIREMENTS GATHERING

Requirement Analysis (4)

REQUIREMENTS ENGINEERING

Demands a systematic use of verifiable principles, methods, languages, and tools in the analysis and description of user needs and the description of the behavioral and non-behavioral features of a software system satisfying the user needs

S OFTWARE REQUIREMENT SPECIFICATION (SRS)Describes the functional, non-functional and domain requirements of the software

Format of SRS (IEEE): 1.Table of Contents 2.List of Figures3.List of Tables4.Introduction5.General system description 6.System capabilities, conditions, and constraints 7.System interface

Structured Analysis (1)

Structured Analysis (2)

Data Flow Diagram

Structured Analysis (3)

Data Dictionary

Structured Analysis (4)

Structured English

BEGINReceive ‘sales transaction record’. Get ITEM NUMBER in the ‘sales transaction record’.Read SALES in the ‘sales transaction record’.Get ‘inventory master record’ from INVENTORY MASTER. QUANTITY_ON_HAND = QUANTITY_ON_HAND – SALESWrite ‘inventory master record’. END

Object-oriented Concept & Analysis (1)

Object-oriented Concept & Analysis (2)

In the object-oriented approach, object means anything, real or abstract, which is characterized by the state it occupies and by the activities defined on that object that can bring about changes to the state

Object-oriented Concept & Analysis (3)

Unified Modelling Language (UML) is used for writing software blueprints in the object-oriented approach. The language is graphical. It has its vocabulary and rules to represent structural and behavioral aspects of software systems

Visualizing the details of a piece of code for understanding and

communicating

Specifying precisely and completely the

system structure and behavior

Constructing codes from the UML model of the system (forward engineering) and

reconstructing a UML model from a piece of code (reverse

engineering);

Documenting artifacts of the system requirements,

design, code,tests, and so on

Object-oriented Concept & Analysis (4)Five Views of UML

• Use case view – exposing the requirements of the system.• Design view – capturing the vocabulary of the problem and solution space.• Process view – modelling the distribution of the system’s processes and

threads.• Implementation view – addressing the physical realization of the system.• Deployment view – focusing on the system’s engineering issues

Object-oriented Concept & Analysis (5)Five Views of UML