Software Engineering Cat I
Software Engineering Cat I
Software Engineering Cat I
KAREN CAMPUS
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.
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.
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)
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)
AD