TOPIC 3: Software Requirements -...
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.
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 (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 (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