You are on page 1of 6

JOMO KENYATTA UNIVERSITY OF AGRICULTURE AND TECHNOLOGY

KAREN CAMPUS

NAME: JEFF OMONDI MUNGA

REG. NO: SCT221-C002-0032/2022

BSc. INFORMATION TECHNOLOGY

ICS2302: SOFTWARE ENGINEERING I

CAT ONE
Question One
CASE stands for computer-aided software engineering as the CASE tools can also be applied to
support database development. There are two types of CASE tools: upper-CASE, lower-CASE:

a) The upper-CASE tool supports database planning and design including data collection
and analysis, data model generation and application design.

b) The lower-CASE tool supports database implementation including data conversion,


report generation, application code generation, prototyping, and testing.

Question Two
Feasibility study- is part of the initial design stage of any proposed project/plan and is carried
out to evaluate the feasibility of a proposed project or an existing software used by the business.
There are three types of feasibility study;
a) Technical feasibility
Technical Feasibility analyses and evaluates the project’s current resources, including hardware
and software along with the technical requirements of the proposed system. a technical
feasibility study gives a report on whether there exist required resources and new technologies
which will be used for proposed software development.
b) Economic feasibility
Economic feasibility in terms of software development helps companies to examine the
development costs and financial gains. And to be economically feasible means the cost incurred
in new software development must exceed its benefits.
c) Operational feasibility
Operational feasibility investigates how a new project will affect your company’s daily
processes, what procedures should be implemented, and what efforts should be made to keep it
running.

Question Three
Good software is characterized by several key attributes, including:
a) Functionality: The software meets the requirements and specifications that it was
designed for, and it behaves as expected when it is used in its intended environment.
b) Usability: The software is easy to use and understand, and it provides a positive user
experience.
c) Performance: The software runs efficiently and quickly, and it can handle large amounts
of data or traffic.
d) Security: The software is protected against unauthorized access and it keeps the data and
functions safe from malicious attacks.

Question Four
Software engineering is important to society because of:
a) Meeting User Needs: Software engineering enables the creation of software that meets
the needs of users. By following established software development processes, engineers
can gather requirements, design solutions, and test software to ensure it meets the needs
of its users.
b) Quality Assurance: The software engineering process emphasizes the importance of
quality assurance. This includes designing software that is easy to maintain, testing
software thoroughly to ensure it functions as intended, and providing support to users
when they encounter issues.
c) Efficiency and Productivity: Software engineering can help organizations increase their
efficiency and productivity. By using software to automate routine tasks, companies can
save time and reduce costs.
d) Scalability: As organizations grow, they need software solutions that can scale with their
needs. Software engineering can help create scalable software solutions that can adapt to
changing needs and growing user bases.

Question Five
V-Model
V-Model also referred to as the Verification and Validation Model. In this, each phase of SDLC
must complete before the next phase starts. It follows a sequential design process same as the
waterfall model. Testing of the device is planned in parallel with a corresponding stage of
development.

Advantages of Verification and Validation Model


a. Easy to Understand.
b. Testing Methods like planning, test designing happens well before coding.
c. This saves a lot of time. Hence a higher chance of success over the waterfall model.
d. Avoids the downward flow of the defects.
e. Works well for small plans where requirements are easily understood.
Disadvantages of Verification and Validation Model
a. Very rigid and least flexible.
b. Not a good for a complex project.
c. Software is developed during the implementation stage, so no early prototypes of the
software are produced.
d. If any changes happen in the midway, then the test documents along with the required
documents, has to be updated.

Spiral model
The spiral model, is an evolutionary software process model that couples the iterative feature of
prototyping with the controlled and systematic aspects of the linear sequential model. It implements the
potential for rapid development of new versions of the software. Using the spiral model, the software is
developed in a series of incremental releases. During the early iterations, the additional release may be a
paper model or prototype. (www.javatpoint.com/software-engineering-spiral-model, 2022)

Advantages of Spiral Model

 Changing requirements can be accommodated.


 Allows extensive use of prototypes.
 Requirements can be captured more accurately.
 Users see the system early.
 Development can be divided into smaller parts and the risky parts can be developed
earlier which helps in better risk management.

Disadvantages of Spiral Mode

 Management is more complex.


 End of the project may not be known early.
 Not suitable for small or low risk projects and could be expensive for small projects.
 Process is complex
 Spiral may go on indefinitely.
 Large number of intermediate stages requires excessive documentation.
(https://www.tutorialspoint.com/sdlc/sdlc_spiral_model.htm#, 2020)

RAD (Rapid Application Development) Model

RAD is a linear sequential software development process model that emphasizes a concise
development cycle using an element based construction approach. If the requirements are well
understood and described, and the project scope is a constraint, the RAD process enables a
development team to create a fully functional system within a concise time period. (JavaTpoint.,
2011-2023)

Advantages of RAD (Rapid Application Development) Model

 This model is flexible for change.


 In this model, changes are adoptable.
 Each phase in RAD brings highest priority functionality to the customer.
 It reduced development time.
 It increases the reusability of features.

Disadvantages of RAD (Rapid Application Development) Model

 It requires highly skilled designers.


 All application is not compatible with RAD.
 For smaller projects, we cannot use the RAD model.
 On the high technical risk, it's not suitable.
 Required user involvement.
(JavaTpoint., 2011-2023)

(https://www.tutorialspoint.com/sdlc/sdlc_spiral_model.htm#, 2020) (www.javatpoint.com/software-


engineering-spiral-model, 2022)

AD

You might also like