Sunteți pe pagina 1din 5

Requirement Engineering Assignment No # 1

Capt Arshad Haroon, BESE - 23A

1. Define software requirement engineering?


Ans : Requirements engineering is a process of gathering and defining of what the
services should be provided by the system. It focuses on assessing if the system is
useful to the business (feasibility study), discovering requirements (elicitation and
analysis), converting these requirements into some standard format (specification), and
checking that the requirements define the system that the customer wants (validation).
2. Discuss the different levels and types of software requirement?
Ans: The most common types of software requirements are:
i. Business Requirements (BR)

a. These are high-level business goals of the organization building the product, or
the customer who commissioned the project.
b. These are usually provided as a single page of high-level bullets.
ii. Market Requirements (MR)
a. These drill down into BRs, but still are high-level. In addition to business goals,
they also outline market needs.
b. These are usually provided as a prioritized bulleted list or table, and are usually
less than 5 pages long.
iii. Functional Requirements (FR) – Use Cases
a. These cover the functionality of the product in detail. Use cases are one of
the best ways of documenting functional requirements.
b. Depending on the product being built, FRs can run several hundred pages.
iv. Non-Functional Requirements (NFR)
a. These are not related to the “functionality” of the product – but cover goals
such as Reliability, Scalability, Security, Integration, etc.
b. Many projects make the mistake of not specifying these explicitly.
v. User Interface Requirements (UIR)
a. User interface specs are not considered “requirements”
in traditional requirements management theory.
b. Phooey! In my opinion, UI specs are indeed requirements (what else are
they?) – and in fact should be considered an integral part of requirements for
any software that has a UI.
3. Distinguish the process and software process model?
a. A software process model is an abstract representation of a process methodology.
Waterfall1 is a process model. Iterative methodologies are process models. They
don't specify how to do things, but outline the types of things that are done and
sequencing for things. For example, Waterfall identifies the phases that a project
goes through - requirements, design, implementation/unit testing, integration testing,
system testing, deployment - without saying what artifacts to produce or what tools to
use (although the output of code is implied). Agile defines core values in the form
of the Manifesto for Agile Software Development, time-boxed iterations, and
continuous response to change, but it doesn't say how long your iterations should be
or how you go about responding to change. The Spiral model is a third software
process model.
b. A process is a specific way of conducting a software project. These are things like
the Rational Unified Process and Scrum. They define exactly what, when, and/or
how various artifacts are produced. They might not be entirely explicit with all
regards - for example, Scrum doesn't identify what documents to produce or not to
produce, since it's focus is on delivering value to the customer - but they define, in
some way, the actions that members of the project team must deliver.

4. Discuss the social and cultural issues in requirement engineering?


Ans: Some people think that these issues fall outside the scope of requirements
engineering process, and fall under management, interpersonal skills, or ethics. Another
point of view is that these issues are very much part of the requirements engineering
process and if not accounted for can negatively impact the desired software system
a. Social Issues in RE Requirements engineering is a social process, as it involves
interaction among clients, engineers, and other systems. Requirements engineering
is not an entirely formal process, because it involves discovering client needs and
reconciling them with technical possibilities. At least there are three major groups
The client organization , The requirements team , The development team which
participate in requirements engineering process. There are Six Areas of Social
Issues areas which incl;
i. Within the client organization. In a large organization, there are usually competing
divisions or groups, so the notion of ‘the client’ is not obvious . Intended users of the
system may be different people from the ones who interact with the requirements
team. The users of the system should be brought into the requirement engineering
process, as they hold the key of the eventual success of the software engineering
project. The requirement process reveals the problems within the client organization,
which must be addressed by facilitating communication among different
stakeholders. The problems within the client organization must not be buried, as they
effect the implementation of the project. The new automated system may have
profound impact on how the business is conducted or how information is classified
within the organization. Success of the project requires that every group within the
organization understand different aspects of the new system. Problems of tacit
(silent) knowledge.
ii. Within the requirements team
a. How work is organized?
b. What methods and notations are used?
c. What team members think about organization and how jelled (work together)
requirement team is?
iii. Between the client and the requirements team
a. Financial arrangements
b. Ethical obligations
c. Legal safeguards
d. Personal relationships
e. Denial (refusal) of information
f. Management of changes
iv. Between the development and requirements teams Development team needs to
work very closely with the requirements team to resolve inconsistencies and to get
details. In some cases, requirements team may be disbanded(break up) or assigned
other tasks.
v. Within the development team
a. Team members may be demoralized
b. There may be high turn over rate
c. The deadlines may slip
d. Developers dislike documentation
vi.Between the development team and the client Development
teams may have to communicate with clients directly, to gain better
understanding of the project’s possibilities and limitations, both for
initial development and maintenance.
b. Cultural Issues in RE Advances in the internet and communication technologies
has enabled customers and developers to collaborate with each other in
geographically and temporally dispersed environments. Cultural issues in RE are ;
i. Time zones differences Working hours of clients and developers may differ by
eight hours or more. Arranging phone calls and video conferences become a hassle
as one party has to come to office very early or stay very late.
ii. Language and terminology differences Advances in the internet and
communication technologies has enabled customers and developers to collaborate
with each other in geographically and temporally dispersed environments. People and
government in the US, and worldwide scientific community consider the following
number to be a billion 1,00,00,00,000 For the rest of the world, a billion is
10,00,00,00,00,000. Globally, people communicate with fellow citizens using sports
lingo to convey certain situations and concepts, even in the business environment
.This can cause misunderstandings  Use of the word ‘hockey’ in Pakistan and US
means two different sports: ‘field hockey’ and ‘ice hockey’ respectively
iii. Religious and racial differences insensible comments on religious and racial
backgrounds of people involved in software engineering projects can become a major
hindrance in the successful execution of the requirements engineering process
iv. Ethical issues
a) Access to confidential client information
b) Possibility of elimination of jobs
c) Differences of opinions with the client on the project
v. Political differences Differences in political ideologies and personal
conviction(belief) can also lead to unprofessional environment in the execution of the
requirements engineering process . Some people do not want to work on military
software programs
vi. Differences in business environment Every society has its own culture within the
business community, which must be understood for successful execution of the
requirements engineering process.
5. What would happened if the RE is not being used?
1. There will be no comparisons of outputs of different software system.

2. Will face difficulty in developing process.

3. Production quality cannot be improved.

4. Budget and time management for development of Software system will be difficult.

S-ar putea să vă placă și