Professional Documents
Culture Documents
ADS19A00019Y
STUDENT’S ID NUMBER: _______________________________ 300
LEVEL:__________
DIRECTIONS TO CANDIDATES
A. USE THE REST OF THE PAGES BELOW FOR YOUR ANSWERS TO QUESTIONS IN
YOUR EXAM PAPER.
D. COPY AND PASTE YOUR ANSWERS TO EACH QUESTION ANSWERED INTO THE
PLAGIARISM CHECKER. ONCE YOU HAVE PASSED THE PLAGIARISM CHECK
FOR ALL YOUR QUESTIONS, NAME THE ANSWER BOOKLET AS DIRECTED IN
(11) ABOVE.
E. ADD YOUR PLAGIARISM REPORTS TO THE PDF ANSWER BOOKLET AND MAKE
SURE YOU SUBMIT THE ZIPPED FOLDER CONTAINING YOUR ANSWER
BOOKLET AND THE CORRESPONDING PLAGIARISM REPORTS FOR EACH
QUESTION ANSWERED TO THE RIGHT COURSE PORTAL CORRESPONDING TO
THE COURSE CODE.
The possible reader for the SRS in the company can be:-
Developers
Testers
Engineers
Reasons for them to read SRS:-
This gives the goal of the SRS document, not the software itself. It also states how much of
the software is covered by the document,
mainly saying whether it describes the whole software system or only a part of it. It similarly
states the intended readers of the document.
The software requirements specification (SRS) is a communication device between users and
software designers. The specific goals of the SRS are as follows:
Easing reviews
Telling the scope of work
Providing a reference to software designers (i.e. navigation aids, document structure)
Providing a system for testing primary and secondary use cases
Including features to client requirements
Providing a platform for continuing alteration
It delivers feedback to the client. An SRS is the client’s assurance that the development
organization comprehends the matters to be solved and the software performance necessary
to address those issues. Therefore, the SRS must be written in natural language (versus a
formal language, explained later in this article), in an explicit manner that may also include
charts, tables, data flow diagrams, decision tables, and so on.
It decomposes the problematic into component parts. The simple act of writing down
software requirements in a well-designed format classifies information, places borders around
the problem, hardens ideas, and helps split the problem into its component parts in an
methodical manner.
It serves as an input to the design specification. As mentioned before, the SRS serves as the
parent document to subsequent documents, for instance the software design specification and
statement of work.
Consequently, the SRS must comprise adequate detail in the functional system requirements
so that a design solution can be devised. It helps as a product validation check. The SRS also
It serves as the parent document for testing and validation strategies that will be applied to the
requirements for verification.
SUMMER 2019/2020 ACADEMIC YEAR
END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 4 of 30
Software requirements specifications are usually developed during the first stages of
“Requirements Development,” which is the original product development pha
se in which information is collected about what requirements are needed–and not. This
information-gathering stage can contain onsite visits, questionnaires, surveys, interviews,
c.
The principles of agile methods have contributed to the accelerated development
and deployment of software in the following ways:
1. Incremental delivery: In this procedure, the software is provided in small increases to the client.
Depends on the customer response and requirements, the developers made the increments in the
system. In every raise, the new functionalities are established and deployed into the system.
2. Customer participation: The customers are involved in the development process of the system.
The agile methods involve consistent discussions with the client. As the development of the system
is done in small increments, the customer must involve in the development process to provide the
requirements of the new features in the system.
4. Embrace change: As technology is developing, the changes must be done to the current system.
The system must be designed as per the requirements of the changes to deploy the new features in
the system.
5. Keep simplicity: As the changes in the system done regularly in small increases, the program
used in the system must be simple. If changes are obligatory for the system, the existing code must
be restructured as per the requirements of the changes. The uncomplicatedness of the code and the
development process must be preserved without any complication in the system.
a. The use of non-standard coding and documentation methods by George Gyamfi Reasons:
– Additional problems to other programmers who have to develop software modules that need to
interface with George’s module that may result in errors.
– Additional problems to an inspection team and testing team that might end in lesser than regular
rates of error discovering.
– Additional problem to replacement programmer who might be recruited to continue the work of
George in the case of his leaving the company or being promoted to a higher position in another
project. Misunderstanding George’s coding and documentation could cause in software errors.
– Extra difficulty in Executing maintenance charge of failure repairs, adaptation of the software to
new clients and system improvement tasks.
b. The following are the advantages and disadvantages that need to be corrected to
recover from the “go-native” problem:
Validating the suggestions given by the user with the different users:
The suggestions given by the user must be validated with the suggestions given by any different user.
Advantage:
• By discussing the suggestion of users aids to verify the user suggestions independently.
Disadvantage:
• If the suggestions are talk over in independent manner then it reduces down the process of
software.
• If the project gets tardy then it leads to additional charge for the project.
c.
Advantages of stories:
1. They denote real situations that regularly occur so the system will support the most
mutual user operations.
2. It is informal for users to understand and critique the stories.
3. They signify increments of functionality - implementing a story brings some value
to the user.
Disadvantages of stories
1. They might be incomplete and their informal nature makes this incompleteness
difficult to see.
2. They emphasis on functional requirements rather than non-functional requirements.
3. Representing cross-cutting system requirements such as performance and reliability
is impossible when stories are used.
4. The relationship between the system architecture and the user stories is unclear so
architectural design is difficult.
a. Such systems make a huge contribution to industry, so they should not be scrapped. Their
poor quality, however, ensures that they are costly to maintain. To enhance their efficiency,
these systems should be re-engineered. If sufficient off-the-shelf systems are available, they
can be replaced. To make subsystems easier to manage, you can re-engineer these systems to
enhance their structure and comprehensibilityRe-engineering may include re-documenting
the system, refactoring the design of the system, translating programs into a modern
programming language, or changing and upgrading the system's data structure and values.
The features of the program are not changed.
b.
1. Fault repairs: Coding errors are typically relatively inexpensive to correct; design errors are more
costly because they can require rewriting many components of the program. Requirements errors are
the most expensive to repair because of the expensive system redesign which be necessary.
2. Environmental adaptation: This type of maintenance is needed when the application system
system changes some part of the system environment, such as hardware, platform operating system,
or other support software. the application system must be modified to adapt it to cope with these
environmental changes.
Perfect maintenance often implies perfecting the program by adding new requirements; in other
situations, it implies retaining the system's functionality but enhancing its structure and
performance.
c.
1. The client doesn't have an accurate understanding of exactly what they need. You need to see the
project and then know exactly what you want and what you don't want.
For example: The project is presented to the customer who is designed according to the specification
they and the construction team have accepted. But they also have different creativity to look and act
like the program and want improvements according to it.
2.Technologies are swiftly evolving. Customers continue to develop projects with the latest features
and technologies. Suppose that some new technology or function is implemented between the project
timeline that impresses customers, then the project development criteria could change.
3. Stakeholder change: The existing stakeholder is replaced by new stakeholders who see the issue
and approach it differently, leading to specifications being updated or introduced.
The team of developers skipped several points in the requirements of software creation that came
from consulting with the client or stakeholders.
5. Significant stakeholders were ignored while discussing the project plan with the developer team
that later joins the team and proposes modifications
6. The customer has strict deadlines and budget, but it changes suddenly when scheduled during the
construction process and the only choice to fulfill deadlines and budget changes remains the
specifications.
Question 4
a.
Requirements elicitation and analysis, also known as requirements research is difficult for a number
of reasons.
The users, customers or other stakeholders involved in the software development do not know all the
features and behavior they need to have in the software at the time of requirements gathering. End-
users at first encounter are most likely to give unrealistic requirements or requirements that are filled
with ambiguities.
The term elicitation is a pointer to the fact that good requirements cannot be obtained simply by
asking the user, customer or stakeholders what they want. Requirements elicitation therefore calls for
multiple interviews, questionnaires, user observations, brainstorming sessions and lots of prototypes.
This is why requirements elicitation is difficult.
It is always recommended that project team look critically into steps that can be taken to minimize
the impact of the problems that are likely to be encountered during requirements elicitation.
During requirements elicitation, it is important to follow some steps to minimize problems in the
long run.
1. Brainstorm properly with the software development team:
It helps you to develop new concepts, and also to refine current ones. Team members would
exchange ideas during brainstorming sessions and provide valuable insights that would push
creativity in the software project.
2. Early Get Reviews
It is critical that you continually ensure that you are in agreement with the customer. This can be
accomplished by regularly updating the consumer with new technologies in order to gain their
reviews as soon as possible. This saves time and money and improves satisfaction with customers
.3. Develop Prototypes
Prototyping allows you to obtain initial specifications that are then used to build the test program
(prototype). This gives the consumer a good picture of how the finished product that is being
produced would look. For both the developer and the customer, it provides a sort of clarification by
ensuring that both parties are in agreement with the specifications set out.
4. Analyzing Records
If there is a need to roll out a new feature or issue a request for improvement, this is very significant.
Keep in mind that there are many more requirements elicitation techniques being used in software
development other than the ones listed above. What ultimately determines the technique to be used is
the nature of the software project being developed. The software engineers and business analysts
must come together to decide on which requirements elicitation technique will deliver the best
outcome for their software development project.
b.
c.
Lack of clarification Often, without making the text wordy and hard to understand, it is difficult to
use words in a precise and unambiguous way. Confusion of requirements There may be no clear
distinction between functional requirements, non-functional requirements, system objectives and
design details. Amalgamation of requirements Several different requirements can be articulated
together as a single requirement.
Natural language is often used to write system requirements specifications as well as user
requirements. However, because system requirements are more detailed than user requirements,
natural language specifications can be confusing and hard to understand:
Knowledge of natural language depends on the readers and writers of requirements using the same
terms for the same definition. This leads, because of the complexity of natural language, to
misunderstandings. An excellent example of this is given by Jackson (Jackson, 1995) as he addresses
signs shown by an escalator. These said 'Shoes have to be worn' and 'Dogs have to be worn' I leave
it to you to sort out these sentences' contradictory meanings of the these phrases
2.A natural language requirements specification is over flexible. You can say the same thing in
completely different ways. It is up to the reader to find out when requirements are the same and
when they are distinct.
3. There is no simple way for natural language specifications to be modularized. All the
relevant specifications might be hard to find. You can have to look at each requirement rather
than just a group of similar requirements to discover the outcome of a shift.
Due to these issues, specifications of requirements written in natural language are vulnerable
to misunderstandings. These are also not found until later stages of the process of software
and can then be very costly to overcome.
Question5
a.
Yes a project that successfully passed verification and validation reviews but failed part of
the qualification review adequately supply users with the information needed.when the
programs that we made are correct but are not in according with the standards, procedures of
SUMMER 2019/2020 ACADEMIC YEAR
END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 11 of 30
the organization.It is typical for recruited employees not to be fully known of these
organizational requirements.
In some cases, even highly experienced staff under pressures may disregard standards and
procedures in order to do work on time.
It’s possible for tested software to achieve correct functioning (no verification and validation
errors) to fail qualification tests when the developed programs are correct but are not in
accordance with the standards, procedures and work procedures of the organization. It is
typical for new staff or subcontractor’s staff not to be fully knowledgeable of these
organizational requirements. In some cases, even experienced staff under time pressures may
disregard standards, procedures and work instructions in order to save time.
b.
It basically occur when we deviated from the software development standards,
procedures and work instructions of the organization may be make difficulties in
testing the software when work done by a new which is come as the replacement
of an old team member who leaves the project in the middle.
It will cause difficulties for the maintenance team which is doing the corrections and
additions of new features to the software.
c. Validation reviews and tests evaluate whether the current stage meets the specified
requirements, and thus assures better fulfillment of the customer’s requirements, leading to
greater satisfaction of the customer. The validation activities are expected to detect deviations
from the original requirements, not detected by verification activities, that may accumulate to
substantial deviations throughout the development phases, especially towards the end of the
development process.
Qualification tests are aimed at detecting deviations from the development standards,
procedures and work instructions as well as from sections of the software system of low
quality (even if the processing and calculation results are correct). Software documentation
and code that qualify save many of the resources required for corrections, changes and
additions to the package and especially reduce the probability of errors in understanding the
current software system.