Documents

Chapter 3 software engineering

Description
SOFTWARE REQUIREMENTS 5.0 Introduction As the software industry is booming and the numbers of customers are increasing, the expectation towards the software product is also increasing. It is very therefore important for the software engineers to handle the complex nature of software development especially to understand the user’s needs. In order to capture the user’s requests, let’s take a look at the meaning of requirement. There are several usages of the term requirement depending on the na
Categories
Published
of 32
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  SOFTWARE REQUIREMENTS 5.0Introduction As the software industry is booming and the numbers of customers are increasing, the expectation towards the software product is also increasing. It is very therefore important for the software engineers to handle the complex nature of software development especially to understand the user’s needs. In order to capture the user’s requests, let’s take a look at the meaning of requirement .There are several usages of the term requirement depending on the nature of the software. or example, in some cases, a requirement is seen as a high!level, abstract statement of a service that the system should provide or a constraint on the system. n the other hand, others regard it as a detailed, mathematically formal definition of a system function. 5.1Objectives #y the end of this unit, you should be able to$ ã identify three categories of system requirements% ã differentiate between functional and non!functional requirements% ã describe the concepts of user requirements and system requirements ã explain why requirements may be expressed using different notations% ã identify two techniques for describing system requirements, namely structurednatural language and programming!language based description% and ã describe how requirements may be organised in a software requirements document. 5.2 System Requirements The requirement types can be divided into three main categories which are user requirements,system requirements and software design specification. These requirements are defined in Table &.'. Table 5.1: (ser )equirements, *ystem )equirements and *oftware +esign *pecification RequirementsDescriptions '  User Requirements  This requirement consists of statements of the services that the system should provide and the constraints of the system. Usually, it is stated using natural language and diagrams. System Requirements  This requirement will describe the system services in detail. The system requirement is also known as functional specication and it should be prepared precisely. In the end, it may serve as a contract betweenthe system buyer and software developer. Software Desin  This document consists of abstract description of the software design and later will be used for more detailed design and implementation. This document is the enhancement of the system requirements specication. +ifferent levels of system specification are important because they can provide the system information to different types of reader. igure &.' illustrates the difference between user requirements and system requirements. It describes how a user requirement can be expanded into several system requirements. Figure 5.1: (ser and system requirements The user requirements should be written for users who do not have a detailed technical knowledge of the system like client and contract manager. igure &. shows the types of requirements specification and the targeted users. n the other hand, the system requirementsspecification should be targeted at senior technical staff and pro-ect managers. *ystem end !users may read both documents since they need to understand how the system works. inally, the software design specification is an implementation!oriented document and it is meant for the software engineers who will develop the system. User Requirement Definition To use IT to support some core activities in )/*0  +*  System Requirements Specification The system should be able to process user application very fast. i.e. within ' hour.onfirmation on customer1s orders should be done within & minutes.inancial statement should be prepared automatically from the system and sent to the customer within certain deadline.The system should be able to forecast customer1s orders to avoid the damage in the inventory.The system should be able to produce business report for top management.  Figure 5.2: +ifferent types of readers’ specification, Source: Adapted from *ommerville 233', pg.445 Activity 5.1 '.#ased on the system requirements specification examples given above, refer to the case study in the appendix and give other examples of system requirements specification for )/*0  +* new system. 5.3 Functional, on!Functional and omain Requirements  6ormally, software system requirements are classified as functional or non!functional requirements or as domain requirements.7  ! # $ Functiona% requirements The functional requirements for a system describe the functionality or services that the system is expected to provide. 0owever, this depends on the type of software or system beingdeveloped and also depends on the users who are expected to use the system.8et’s take a look at the case study of FRS! F DS  at the end of this unit in order to understand more about functional requirements. The functional requirements for a FRS! F DS  new system should solve the problems that they are currently having. Among the requirements are shown in igure &.7. Figure 5.#: unctional requirements for a )/*0  +* These are the examples of functional requirements that define specific facilities the system should provide. In many cases, problems of software engineering start with mistakes during requirements specification. 9ost common mistakes the developer do is misinterpret the ambiguous requirements by users in order to simplify the implementation during development. 0owever, it might contradict with the user’s srcinal requirements. As a result, new requirements need to be established and changes must be made to the system. This will result in late delivery and increase in cost. These requirements should meet two metrics as shown in igure &.:. Figure 5.$: unctional requirements specification metrics ! # & Non'functiona% requirements In contrast to functional requirements, non!functional requirements are those requirements which are not directly concerned with the specific functions delivered by the system. or example, system properties such as reliability, response time and store occupancy. They may also be defined as constraints on the system such as the capabilities of I; devices and the data representations used in system interfaces. 9ost non!functional requirements affect the system as a whole rather than to individual system features. These requirements usually are more critical than individual functional requirement. This means that failure to meet a non!functional system requirement may make the whole system unusable, while failure to meet anindividual functional requirement may only degrade the system. or example, if the ordering system for )/*0  +* is not reliable, it might cause great loss to the company.:The functional requirements for a )/*0  +**peed up membership approvalonfirmation of order should be done electronically/stimate the number of customer’s orders with the amount all restaurants could supply<enerate financial statement automatically every month and<enerate report about customers with heavy debt.
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks