[go: up one dir, main page]

0% found this document useful (0 votes)
121 views4 pages

CASE Tools and Feasibility Studies in Software Engineering

The document discusses various topics related to software engineering including CASE tool categories, feasibility studies, attributes of good software, reasons for software engineering, and software development models like V-shape, spiral, and RAD. It provides details on upper, lower, and integrated CASE tools. It describes the four types of feasibility studies as economic, operational, technical, and social. It lists operational, transitional, and maintenance attributes of good software. It gives four reasons for software engineering as quality assurance, cost effectiveness, handling complexity, and adapting to environment changes. It discusses the advantages and disadvantages of V-shape, spiral, and RAD models.

Uploaded by

ISAAC
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
121 views4 pages

CASE Tools and Feasibility Studies in Software Engineering

The document discusses various topics related to software engineering including CASE tool categories, feasibility studies, attributes of good software, reasons for software engineering, and software development models like V-shape, spiral, and RAD. It provides details on upper, lower, and integrated CASE tools. It describes the four types of feasibility studies as economic, operational, technical, and social. It lists operational, transitional, and maintenance attributes of good software. It gives four reasons for software engineering as quality assurance, cost effectiveness, handling complexity, and adapting to environment changes. It discusses the advantages and disadvantages of V-shape, spiral, and RAD models.

Uploaded by

ISAAC
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

ISAAC ONGECHI MOBE

J.K.U.A.T KAREN CAMPUS


HDB212-C002-0027/2022
B.B.I.T YEAR 2.1
SOFTWARE ENGINEERING CAT ONE

1) Explain the two categories of CASE tool technology. (6marks)

Computer Aided Software Engineering tools are often used for method support and are
divided into three:

1. Upper Case Tools – These are used in the planning, analysis, and design stages of
software development life cycle, these tools are more concerned with the planning
and design aspects of software development, they include tools for creating
diagrams like data flow diagrams, and entity relationships. Examples of such tools
are Lucid software and Microsoft Access.

2. Lower Case Tools – These tools are used in implementation, testing, and
maintenance during the later stages of software development, they often include
code generators, and debugging tools to automate coding, help in identifying and
fixing errors and facilitate testing of software components.

3. Integrated Case Tools – Integrated case tools are helpful in all the stages of
software development life cycle, from gathering requirements to testing and
documentation, the primary goal of this tools is to enhance productivity,
collaboration, and consistency in software development projects an example of
such a tool can be the unified environments where all team members like
designers and developers can work together.

2) Define the term feasibility study and elaborate the three types of feasibility study carried out in
software development. (8marks)

A Feasibility Study is an activity that is undertaken to determine the possibility of or probability


of either improving an existing system or developing a new system, it’s a test of system proposal
according to its workability, impact on an organization, its ability to meet user needs and use
resources effectively.
In software development there are four types of feasibility studies carried out, these are:
1. Economic Feasibility – This type of feasibility study determines whether the time and money
resources are available to be able to develop a system, may include purchase of new
equipment, hardware or even software. Simply the evaluation of the financial aspects of the
project, project’s cost.

2. Operational Feasibility – This study assesses whether the proposed system can be integrated
into the organization’s existing processes and whether it will meet end user needs and
expectations, operational feasibility also determines the human resources available to operate
the system once it has been installed, if users do not agree with the new system, then it is not
operationally feasible.

3. Technical Feasibility – This study assesses whether the current technical resources are
sufficient for the new system in development, if the technical resources are not available, they
should be able to be upgraded to provide the level of technology needed for the new system.
This evaluates hardware, software and technical skills that can be acquired to complete the
project successfully.

4. Social Feasibility - Social Feasibility focuses on assessing whether a proposed software


project is socially acceptable and compatible with values, culture, ethics and expectations of
the individuals and groups that will be affected by it. It determines the impact of the system
on the people who will work with the system, this may include retraining, separation of
offices.

3) Explain the attributes of a good software product. (6marks)

A well-engineered and crafted software is expected to have the following attributes:


1. Operational characteristic – This attributes will let us know how well the software
works in operations or when in use by end users, this can be measure on the budget,
usability, functionality of the software, safety and security, efficiency level of the
software.

2. Transitional characteristic – This attributes focus on characteristics related to


installation of the software, deployment, and migration to new versions. Some of the
key attribute include upgradability, interoperability, compatibility.

3. Maintenance characteristic – This focus on how well the software can be managed,
updated, or enhanced throughout its lifecycle, this ensures that the software remains
effective over time and regardless of changes of the environment surrounding the
software. Some key attributes here include maintainability, extensibility, modularity,
adaptability, and scalability.

4) Explain four reasons why we need software engineering. (4marks)

There are several reasons why software engineering is essential:


1. Quality assurance or management – Better practice of software engineering methodologies
help ensure that the software products meet quality standards and reduce errors and defects.
2. Cost Effectiveness – Proper software engineering practices lead to cost-effective
development, reducing risks of project failure, if the cost of hardware is high for example,
then the cost of software development remains high, software engineers can come up with
better hardware or software that may reduce the cost of purchasing thereby reducing the cost
of software development.
3. Complexity – Modern software has become large and sophisticated, software engineering
provide structured and systematic approaches to help in designing, developing, and
maintaining this software.
4. Environment – Due to the ever-changing nature of software upon the environment in which
the user works, there is need for new enhancements and ways of maintaining software to be
compatible with the changing environment, software engineering comes up with new
practices that help software to keep up with the environment.

5) Discuss the following software development software development models giving their
advantages and disadvantages.
(10 marks)

i. V -shape model
Also known as the verification and validation model, it is a sequential model and
phase-based approach to software development that emphasizes the importance
of testing and validation throughout software development life cycle. Its an
extended arm of the waterfall methodology in a visual context that resembles the
letter V, in each phase of development an associated test is carried out.

ADVANTAGES
 Clear and structured approach.
 Early detection of issues.
 Improved documentation.
 Enables accurate progress tracking by project management.
 Simple and easy to understand and use.
 Used for small projects where project requirements are clear.

DISAVANTAGES
 Not good for complex, large or object-oriented projects.
 Does not support iteration of phases.
 Does not easily handle concurrent events.
 Inflexibility makes it difficult to adapt to changing requirements or
unexpected events.
 Time-consuming due to lots of testing and documentation.
 Over-reliance on documentation at the expense of actual development
work.

ii. Spiral model


This model is an iterative and risk driven software development model that
focuses on risk assessment and management, it divides the development process
into multiple cycles or spirals, each representing a phase of the project.
It promotes iterative development where each spiral results in an increment of the
software, and analysis of risks early in the project.
Each phase is sectioned into four quadrants, first quadrant is the objective setting,
second quadrant is the risk assessment and reduction, third quadrant is the
development and validation, the fourth quadrant is the review and planning.
ADVANTAGES
 Risk handling due to risk analysis in each phase.
 Good for large projects.
 Flexibility in requirements changes as development continues.
 Its iterative and has an incremental approach.
 Emphasizes risk management.
 Improved communication between customers and development team due
to regular evaluation and review.

DISADVANTAGES
 Complex compared to other models.
 Expensive to use and not suitable for small projects.
 Too much dependability on risk analysis
 Time-consuming as it requires multiple evaluations and reviews.
 Resource intensive as it requires significant investment in planning, risk
analysis and evaluation.

iii. RAD
Rapid Application Development is a model that focus on rapid prototyping and
quick iterations, it prioritizes speed and user involvement in the software
development process. This model revolves around building prototypes and
involving users early and frequently, it is often used for small to medium sized
projects with laid out requirements.

ADVANTAGES
 Feedback from users is available at the initial stages.
 Reduced costs due to less need of developers
 Use of powerful development tools resulting in quality products in
shorter time span.
 Easier to accommodate changing requirements.
 Uses reusable components helping in reducing the development time.
DISADVANTAGES
 Use of powerful development tools also require highly skilled
professionals.
 Absence of reusable components can lead to failure of the projects.
 Systems that cant be modularized cannot use this model.
 Customer involvement is required throughout the project life cycle.
 Not all applications can be used with this models.
 Requires dedicated team members and team leaders to ensure project
completion.

Common questions

Powered by AI

The Spiral Model is an iterative, risk-driven approach focusing on risk assessment and management across project phases. It differs from the V-Model by emphasizing risk management and flexibility in requirements through its iterative cycles, which include risk analysis and mitigation. Unlike the sequential V-Model, the Spiral Model allows for continuous assessment and adaptation .

Integrated CASE tools enhance collaboration and consistency by providing unified environments where team members can work together throughout all software development stages. They support everything from requirement gathering to testing and documentation, facilitating communication, aligning efforts, and maintaining consistency in software projects .

Technical feasibility impacts project planning and execution by assessing the availability and adequacy of technical resources, including hardware, software, and skilled personnel. It evaluates whether current resources can support a new system's requirements or need upgrading. This understanding helps in resource planning, ensuring technical capabilities align with project goals .

Social feasibility assesses a software project's societal acceptance and ethical alignment with cultural values and expectations. It evaluates the social impact on affected individuals and groups, considering factors such as retraining and organizational changes. Ensuring social feasibility is vital for project acceptance and successful implementation within a community or organization .

Software engineering is crucial because it ensures quality assurance, manages complexity, and enhances cost-effectiveness. It systematically addresses the sophistication of modern software, providing structured approaches for design, development, and maintenance. It also reduces development costs by optimizing resources and improving hardware and software design to mitigate high costs .

CASE tools are divided into Upper Case Tools, Lower Case Tools, and Integrated Case Tools. Upper Case Tools are used during the planning, analysis, and design stages, emphasizing planning and design aspects such as creating diagrams. Examples include Lucid software and Microsoft Access. Lower Case Tools are employed in implementation, testing, and maintenance stages, focusing on coding and debugging. Integrated Case Tools extend across all stages of development, aiming to enhance productivity, collaboration, and consistency .

A feasibility study determines the practicality of a system proposal regarding its workability, organizational impact, user needs, and resource usage. Types include Economic Feasibility, evaluating financial aspects like cost; Operational Feasibility, assessing integration with existing processes and user needs; Technical Feasibility, reviewing necessary technical resources; and Social Feasibility, considering societal impacts and cultural compatibility .

RAD prioritizes speed and user involvement through rapid prototyping and frequent collaboration with users. It emphasizes quick iterations and feedback, suitable for small to medium-sized projects. Limitations include the need for highly skilled professionals, potential failure without reusable components, and the requirement for continuous customer involvement. It also necessitates dedicated teams, which might not be feasible for every project .

The V-Model provides a clear, structured approach with early issue detection and improved documentation, suitable for small projects with clear requirements. However, its inflexibility and lack of phase iteration make it less suitable for large, complex projects. It requires extensive documentation, which can divert focus from actual development work, and is time-consuming due to its testing requirements .

A good software product should have: Operational characteristics, focusing on usability, functionality, and security; Transitional characteristics, important for installation, deployment, and version upgrades; and Maintenance characteristics, ensuring manageability and adaptability over its lifecycle, including aspects like maintainability, modularity, and scalability .

You might also like