In: Computer Science
You are a member of the product development group in
your organization, and you have been asked to initiate the
requirements specifications for a new software application. Before
you start, you need to do some research on requirements, their
definitions, and what makes a good requirement document.
Conduct research using the library, Internet, and your
course materials, and write 400–600 words in response to the
following questions:
Why do you need requirements?
How can you classify requirements?
Define what makes a good requirement
document.
Describe at least one challenge that you will need to
overcome while identifying software requirements.
Cite all references using APA format.
Be sure to discuss and demonstrate understanding of
the following:
The importance of requirements in software
development
Requirements classification
Challenges the team faces when identifying
requirements
Characteristics that a good requirement document
possesses
Cited references
a) Why do you need requirements?
The software requirement describes what the software application which you are going to develop will do and how it will be expected to perform. It also describes the functionality of the product on the basis of all stakeholder's needs. The need for a requirement is that it will help to avoid software project failure. Basically, each software is a solution for a problem so before developing software at first you should know the exact problem then only you can give a correct solution. So without a clear requirement knowledge, a poor solution can be made.
b) How can you classify requirements?
Requirements can basically be classified into 2 major types.
i) Functional requirements
ii) Non-functional requirements
i) Functional requirements:
Functional requirements describe what the system should do that is the service provided for the user and other systems. The functional requirements include
=>What input the system should accept and under what condition.
=>Whar output the system should produce and under what condition.
=>What data the system should store.
=>The timing and synchronization.
ii) Non-functional requirements
The Non-functional requirements specify the quality attribute of a software system. These requirements should constrain the design to meet the specified level of quality.
=>Reliability: Reliability measures the average time between failure or probability of a failure within a given period of time. It can help to avoid server issues.
=>Response time: The system should give a response to the user in a minimum time.
=>Resource usage: It should be clear that the amount of network bandwidth and the memory used by a system.
=>Platform: It should be clear that on which operating system and hardware the software should work.
=>Availability: which includes server availability, response availability time.
=>Technology: It refers to which technology should use by the system.
=>Security: Should provide better security.
Another non-functional requirement is
=>Cost and delivery time: It refers to the total cost for the production of the software and the date on which the product will deliver.
c) Define what makes a good requirement document?
A good requirement document should have a clear statement. A good requirement document should have the following characteristics.
i) Clear: All the statements should be simple and clear and should not give any unnecessary statements.
ii) Verifiable: The tester should be able to verify whether the requirement is implemented correctly.
iii) Understandable: Thing should be written in a consistent style and it should be grammatically correct.
iv) Correct: The fact in the requirement document should be true.
v) Necessary: The requirement document is unnecessary if none of the stakeholders need the document.
vi) Feasible: The requirement document should be executable within time, money, and resources.
d) Describe at least one challenge that you will need to overcome while identifying software requirements
One of the main challenges that have to overcome is that the stakeholders change their minds in between. So the stakeholders will change their ideas in between and it will lead to taking more complications in the project development, so for overcoming this make a clear idea with the stakeholders about the requirements and also if anything changes in between that change should also be clear with the stakeholders.
Another challenge is that the stakeholder will not be willing to speak, so to overcome this make the stakeholders be more honest about giving ideas about their requirements.