Você está na página 1de 16

1988

FACULTY OF ENGINEERING

SOFTWARE DEPARTMENT

NEAR EAST UNIVERSITY

Academic Year

2016/2017 spring

SE513

SOFTWARE REQUIREMENT ENGINEERING

Asst. Prof .Dr. Boran Sekeroglu

PREPARED BY
SYED UZAIR AHMAD
ASSIGNMENT 1
STUDENT ID

1 | Page
ABSTRACT

Requirements define the function of the system from the client's viewpoint.
The requirements establish the system's functionality, constraints, and goals
by consultant with the client, customers, and users. The requirements may
be developed in a self-contained study, or may emerge incrementally. The
requirements form the basis for acceptance teasing. The development team
and the client need to work together closely during the requirements phase
of a so(ware project.

2 | Page
CONTENTS

ABSTRACT........................................................................................................ 2
Chapter 1......................................................................................................... 5
1. Definition of Requirements engineering (RE).............................................5
2. Min goal of Software Requirements Engineering?......................................5
3. Software Engineering Goals.......................................................................7
Chapter 2......................................................................................................... 8
2.1 Introduction......................................................................................... 8
2.2 Two kinds of requirements...................................................................8
2.2.1 User requirements.........................................................................8
2.2.2 System requirements....................................................................8
2.3 Three classes of requirements:............................................................8
2.3.1 Functional requirements................................................................8
2.3.2 Nonfunctional requirements..........................................................9
2.3.3 Domain requirements....................................................................9
Chapter 3....................................................................................................... 10
3.1 Introduction....................................................................................... 10
3.1.1 Cost reduction............................................................................. 10
3.1.2 Low training costs.......................................................................11
3.1.3 Increased flexibility.....................................................................11
3.1.4 Competitive advantage...............................................................11
3.1.5 Increased company value............................................................11
REFERENCES.................................................................................................. 13

3 | Page
4 | Page
Chapter 1

Goal of Software Requirement


Engineering

1. Definition of Requirements engineering (RE)

Requirements engineering (RE) is the process of establishing the


services that the customer requires from a system and the constraints
under which it operates and is developed. The requirements
themselves are the descriptions of the system services and constraints
that are during the requirements engineering process. Requirements
may range from a high-level abstract statement of a service or of a
system constraint to a detailed mathematical functional specification.

2. Min goal of Software Requirements Engineering?

The goal of the requirements engineering process is to create and maintain a system
requirements document. The overall process includes four high-level requirements
engineering sub-processes.

These are concerned with assessing whether the system is useful to the business
(feasibility study)

Discovering requirements (elicitation and analysis);

Converting these requirements into some standard form (specification);

Checking that the requirements actually define the system that the customer wants
(validation).

5 | Page
Figure 1.1 illustrates the relationship between these activities. It also shows the
documents produced at each stage of the requirements engineering process. The people
involved develop a better understanding of what they want the software to do; the
organization buying the system changes; modifications are made to the systems
hardware, software and organizational environment. The process of managing these
changing requirements is called requirements management.

I present an alternative perspective on the requirements engineering process in Figure 1.2.


This presents the process as a three-stage activity where the activities are organized as an
iterative process around a spiral. The amount of time and effort devoted to each activity
in an iteration depends on the stage of the overall process and the type of system being
developed. Early in the process, most effort will be spent on understanding high-level
business and non-functional requirements and the user requirements. Later in the process,
in the outer rings of the spiral, more effort will be devoted to system requirement
engineering system modelling This spiral model accommodates approaches to
development in which the requirements are developed to different levels of detail. The
number of iterations around the spiral can vary, so the spiral can be exited after some or
all of the user requirements have been elicited. If the prototyping activity shown under
requirements validation is extended to include iterative development.

6 | Page
Figure 1.2 Spiral model of requirements engineering processes

This model allows the requirements and the system implementation to be developed
together. Some people consider requirements engineering to be the process of applying a
structured analysis method such as object-oriented analysis (Larman, 2002). This
involves analyzing the system and developing a set of graphical system models, such as
use-case models, that then serve as a system specification. The set of models describes
the behavior of the system and are annotated with additional information describing, for
example, its required performance or reliability. Although structured methods have a role
to play in the requirements engineering process, there is much more to requirements
engineering than is covered by these methods. Requirements elicitation, in particular, is a
human-centered activity and people dislike the constraints imposed by rigid system
models.

The goal of requirement engineering is to develop and maintain


sophisticated and descriptive System Requirements Specification
document.

The notion of goal is increasingly being used in requirements


engineering (RE) methods and techniques today.

Goals are seen to have substantial promise in aiding the elicitation and
elaboration of requirements. For example, the [KAOS]* methodology
uses goal as the central concept in requirements acquisition. Anton
also uses goals as the main guiding concept in developing
requirements specifications

3. Software Engineering Goals

a) Readability
b) Correctness
c) Reliability
d) Reusability

7 | Page
e) Extensibility
f) Flexibility
g) Efficiency

Chapter 2

FUNDAMENTAL OF SOFTWARE
REQUIREMENTS

2.1 Introduction

An essential property of all software requirements is that they be


verifiable as an individual feature as a functional requirement or at the
system level as a non-functional requirement. It may be difficult or
costly to verify certain software requirements. For example, verification
of the throughput requirement on a call centre may necessitate the
development of simulation software. Software requirements, software
testing, and quality personnel must ensure that the requirements can
be verified within available resource constraints.

2.2 Two kinds of requirements

2.2.1 User requirements


High-level abstract requirements written as statements, in a
natural language plus diagrams, of what services the system is
expected to provide to system users and the constraints under
which it must operate.

2.2.2 System requirements


Detailed description of what the system should do including the
software system's functions, services, and operational

8 | Page
constraints. The system requirements document (sometimes
called a functional specification) should define exactly what is to
be implemented. It may be part of the contract between the
system buyer and the software developers.

2.3 Three classes of requirements:

2.3.1 Functional requirements

Functional requirements describe the functions that the software is to execute; for
example, formatting some text or modulating a signal. They are sometimes known as
capabilities or features. A functional requirement can also be described as one for which a
finite set of test steps can be written to validate its behaviour.

2.3.2 Nonfunctional requirements

Non-functional requirements are the ones that act to constrain the solution. Non-
functional requirements are sometimes known as constraints or quality requirements.
They can be further classified according to whether they are performance requirements,
maintainability requirements, safety requirements, reliability requirements, security
requirements, interoperability requirements or one of many other types of software
requirements.

2.3.3 Domain requirements

Constraints on the system from the domain of operation.

9 | Page
Chapter 3

BENEFIT DURING THE DEVELOPMENT OF


SOFTWARE

3.1 Introduction
Software development is a process of writing and maintaining the source code, but in a
broader sense, it includes all that is involved between the conception of the desired
software through to the final manifestation of the software, sometimes in a planned and
structured process. Therefore, software development may include research, new
development, prototyping, modification, reuse, re-engineering, maintenance, or any other
activities that result in software products.

Software can be developed for a variety of purposes, the three most common being to meet
specific needs of a( specific client)business (the case with custom software), to meet a
perceived need of some set of potential users (the case with commercial and open source
software).

Benefits of software development you must be aware of

10 | P a g e
Software development is an essential aspect which helps any business to work finely. It
allows you to automate your business and increase your productivity with less effort. The
customized software packages are made to flourish your business and help you fulfill most
of your requirements.
3.1.1 Cost reduction
The technology offers cost economy by reducing resource requirements thus, improving
productivity and decreasing licensing fees. When you help out in the design of the
software, it is then developed particularly for the growth of your business. This reduces
the training costs and also improves the productivity of the software. When you buy a
pre-written software application, you only have a license to use the software. The
development services team offers you software applications that you own. Since the
product is absolutely your own, you may change the cost of the product and its
upgradation.

3.1.2 Low training costs


It may be expensive to train the new employees. The new employees may need at least a
weeks training before they actually start working. If your business is not very big, you
may not have the latest technology for every individual as it will cost very high. An
outsourcing firm can cope up with the latest technologies for every individual since it is a
part of their business.

3.1.3 Increased flexibility


As your business grows, your potential customers usually demands for different changes
in your products. For this, you need to search for different products and become
dependent on them. Custom software solutions provide you the increased flexibility
possible since the product is made as per your requirement and can be changed according
to the business requirements.

3.1.4 Competitive advantage


When your business flourishes more and more, the competition among the competitors in
business also increases. If you have a company which is different from others, there are
chances that you will have more customers and earn more money. You can make use of
custom software to promote

11 | P a g e
Your business and rise above the competition level.

3.1.5 Increased company value


You should improve your performance in your business to earn more profits. If you work
efficiently and keep a track of the products that you sell, it will help you run your
business at its maximum level. If your company makes unique well designed software, it
will differentiate from your competitors and provide good results for your business.

12 | P a g e
REFERENCES

Books

13 | P a g e
Sommerville, Ian oftware engineering / Ian Sommerville. 9th edition

Roger Pressman Software Engineering 7th edition

Web links

www.swebokwiki.org/Chapter_1:_Software_Requirements

www.cs.ccsu.edu/~stan/classes/cs530/notes14/04-
requirements.htmhttp://swebokwiki.org/Chapter_1:_Software_Requirementswww.springe
r.com/us/book/9783642125775

http://www.selectbs.com/analysis-and-design/what-is-a-software-development-process).
http://blogginggateway.blogspot.com.cy/2012/03/5-benefits-of-software-development-
you.html
http://blogginggateway.blogspot.com.cy/2012/03/5-benefits-of-software-development-
you.html

14 | P a g e
8

15 | P a g e
16 | P a g e

Você também pode gostar