You are on page 1of 30

1ST SEMESTER 2020/2021 ACADEMIC YEAR

END-OF-SEMESTER EXAMINATION ANSWER BOOKLET

THE FOLLOWING DETAILS MUST BE COMPLETED BY THE STUDENT

ADS19A00019Y
STUDENT’S ID NUMBER: _______________________________ 300
LEVEL:__________

CS402 Software Engineering


COURSE CODE: _________ COURSE TITLE:_________________________________

GEORGE AFIRIYIE GYAMFI


LECTURER’S NAME: (Refer to the Question Paper) ________________________________

DIRECTIONS TO CANDIDATES

1. Use Times New Romans with font size of 12


2. All calculations need to be typed
3. In an extreme case where questions involving calculations and diagrams/illustration that cannot be
typed students can use handwriting and scan the document and fix into the solution
4. Similar (COPIED) work produce by two or more students will be scored ZERO for all students
involved.
5. Copy and paste work will be score ZERO
6. Copied or shared plagiarism reports will be scored ZERO for all students involved in the act
7. NO VALID PLAGIARISM REPORT FOR A GIVEN QUESTIION – NO GRADING
8. It is your responsibility to comply with the instructions given on the Question Paper.
9. It is your responsibility to ensure that your answers follow the required format.
10. Note that no submission can be accepted after the deadlines.
11. Name the file USING your ID number and the course code (e.g. ENG10A0910Y – EEE204). Do not
convert your answer booklet to PDF.
Page 2 of 30

PLEASE NOTE AND DO FOLLOWINGS

A. USE THE REST OF THE PAGES BELOW FOR YOUR ANSWERS TO QUESTIONS IN
YOUR EXAM PAPER.

B. MAKE SURE FOR EACH ANSWER TO A QUESTION (INCLUDING ITS ASSOCIATED


SUB-QUESTIONS). YOU CLEALY INDICATE THE QUESTION NUMBER AND THE
SUB-QUESTION IDENTIFIER AS SHOWN BELOW

C. YOU CAN ADD (INSERT MORE PAGES IF YOU REQUIRE IT)

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.

F. FAILURE TO SUBMIT THE ZIPPED FOLDER TO THE RIGHT COURSE PORTAL


CORRESPONDING TO THE COURSE CODE WILL RESULT IN YOUR SUBMISSION
GOING TO THE WRONG COURSE PORTAL HENCE CANNOT BE LOCATED AND
GRADED.

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 3 of 30

QUESTION NUMBER: Q1 ________SUB-QUESTION (a)____________

a.   Software requirements specification displays what the software is supposed to do as well as


how it is supposed to achieve. It is written down before the definite software development
work starts.

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

QUESTION NUMBER: Q1 ________SUB-QUESTION (b)____________

b. A well-designed, well-written SRS accomplishes four major goals:

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,

 and possibly a return-on-investment (ROI) analysis or needs analysis of the customer or


client’s current business environment. The actual specification, then, is written 
 when the requirements have been gathered and examined.

QUESTION NUMBER: Q1 ________SUB-QUESTION (c )____________

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.

3. People, not process: One of the significant principle to develop effective software is to


distinguish the technical skill of the people working in the development process of the system. It is
essential to implement and provide the product rapidly with high quality.

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.

QUESTION NUMBER: Q2 ________SUB-QUESTION (a)____________

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.

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 5 of 30

– 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. 

QUESTION NUMBER: Q2 ________SUB-QUESTION (b)____________

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.

Getting the suggestions from multiple users:


Multiple users must be involved in development team to get the suggestions.
Advantage:
• By several suggestions, the multiple angle views from Various users can be obtained for specific
problem.
• The probability of having any typical user will decrease.
Disadvantage:
• There may be a option of correlation on suggestions from diverse users.
• If the correlation rises, then it makes additional cost to complete the project.

Varying the member from the team:


If any of the user suggestion creates a problem in team. Then, change the user from the team.
Advantage:
• By various suggestions, the multiple viewpoint from different users can be gained.
• By discussing the suggestion of users helps to verify the user suggestions autonomously.
Disadvantage:
• It is likely that the new user is not aware of the system. So, he/she will take time to understand the
system to give suggestions.
• Verifying the user’s suggestions independently leads to increase the productivity time of the
project.
 

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 6 of 30

QUESTION NUMBER: Q2 ________SUB-QUESTION (c)____________

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.

QUESTION NUMBER: Q3 ________SUB-QUESTION (a)____________ 

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.

 QUESTION NUMBER: Q3 ________SUB-QUESTION (b)____________

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.

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 7 of 30

3. Addition of functionality: When the system requirements change in response to organizational or


business change, this form of maintenance is necessary. The size of the changes made to the program
is often much greater than with the other types of maintenance.

Why is it difficult to differentiate between the types of maintenance?


In practice, as the device adapts to new conditions and then incorporates features to take advantage
of new environmental characteristics, there is no clear differentiation between these forms of
maintenance. Since users use the device in unanticipated ways, program faults are sometimes
revealed. These forms of maintenance are known, but they are often given distinct names by a
different person.
To refer to fault repair maintenance, corrective maintenance is generally used.' "Adaptive
maintenance" sometimes means adapting to new conditions and sometimes means adapting the
program to new specifications.

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. 

 QUESTION NUMBER: Q3 ________SUB-QUESTION (c)____________

c.   

  Factors that lead to the requirements change in a Project:


[ Within control of developer and user]

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. 
 

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 8 of 30

 QUESTION NUMBER: Q4 ________SUB-QUESTION (b)____________

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.
 
 

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 9 of 30

 QUESTION NUMBER: Q1 ________SUB-QUESTION (b)____________

b.   

Scenario is one way that things may occur later on in future.


The time span for a scenario could be a single exchange, a business activity, a day or other period, or
the entire operational life of a framework.
Scenario elements describe aspects of basic conditions. This includes objective information and
subjective information. Objective includes numbers/data/facts and Subjective include
estimations/rumors/opinions. Members of the scenario development gather and organize together the
data and accomplish accordingly a typical comprehension of the scenarios.
Scenario elements are organized into eight areas. The components are isolated in business-arranged
components and rather broad components.
• Corporation covers perspectives that establish the association. This incorporates above at
methodology, values, association, HR-and IT-framework.
• People portrays viewpoints, which concern the representatives and accomplices. Among them the
board and administration style, abilities and way as well as inspiration.
• Business contains viewpoints that identify with the plan of action. This subsumes at expectations
and substitutes just as market, rivalry, clients and providers.
• Technology comprises of angles, which incorporate the accessible and utilized specialized potential
outcomes. This grasps limits and applications, improvement prospects, life cycles, advancement
levels and openness
• Economy comprises of viewpoints that depict the overall monetary circumstance. This incorporates
monetary perspectives, financial circumstance and asset accessibility.
• Ecology depicts perspectives that speak to the climate related circumstance. This comprises of
environmental rules, water accessibility and atmosphere viewpoints.
• Society represents societal, social aspects. This contains demography, dependability, culture,
religion, morals, schooling just as nodal occasions.
• Government shows viewpoints that are made accessible by separate public systems. It
comprises of laws, charges and other regulatory data         

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 10 of 30

 QUESTION NUMBER: Q4 ________SUB-QUESTION (c)____________

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. 

 
 

 QUESTION NUMBER: Q5________SUB-QUESTION (a)____________

 
 

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. 
 
  

 QUESTION NUMBER: Q5________SUB-QUESTION (b)____________

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.
 

QUESTION NUMBER: Q1 ________SUB-QUESTION (c)____________

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.

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 12 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 13 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 14 of 30

QUESTION NUMBER: (e.g. Q2) ________SUB-QUESTION (e.g. 2(a))_____________

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 15 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 16 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 17 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 18 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 19 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 20 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 21 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 22 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 23 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 24 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 25 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 26 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 27 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 28 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 29 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020
Page 30 of 30

SUMMER 2019/2020 ACADEMIC YEAR


END OF SUMMER BOOKLET - JULY/AUGUST 2020

You might also like