CHAPTER 1 Software Engg.
CHAPTER 1 Software Engg.
1.What is Software ?
ANS. Software is a set of instructions, programs, or data used to operate computers and
execute specific tasks. It is intangible and contrasts with hardware, which refers to the
physical components of a computer system.
Definition: Software refers to a collection of programs, data, and routines that instruct a
computer on how to perform specific tasks.
Types of Software:
System Software: Controls and manages the hardware and provides a platform for
running application software. Examples include operating systems, device drivers, and
utility programs.
Application Software: Helps users perform specific tasks. Examples include word
processors, web browsers, and graphic design programs.
Development Process: Software is typically developed using programming languages
and tools. The process involves writing code, testing, debugging, and maintaining the
software to ensure it meets the desired requirements.
Importance: Software is essential for the functionality of modern devices and systems. It
enables computers to perform tasks efficiently, automate processes, and provide
solutions for various industries and sectors.
Evolution: Software has evolved over time, from simple programs to complex systems.
Advances in technology have led to the development of sophisticated software that
powers a wide range of applications and services.
Challenges: Software development faces challenges such as bugs, security
vulnerabilities, and compatibility issues. Developers work to address these challenges
through testing, updates, and security measures.
Future Trends: The future of software development is likely to be influenced by trends
such as artificial intelligence, machine learning, and the Internet of Things. These
technologies will drive innovation in software design and functionality, shaping the
digital landscape.
5.Spiral Model
The Spiral Model is a Software Development Life Cycle (SDLC) model that provides a
systematic and iterative approach to software development. In its diagrammatic
representation, looks like a spiral with many loops. The exact number of loops of the
spiral is unknown and can vary from project to project. Each loop of the spiral is called
a Phase of the software development process.
PHASES
1. Planning
The first phase of the Spiral Model is the planning phase, where the scope of the project
is determined and a plan is created for the next iteration of the spiral.
2. Risk Analysis
In the risk analysis phase, the risks associated with the project are identified and
evaluated.
3. Engineering
In the engineering phase, the software is developed based on the requirements gathered
in the previous iteration.
4. Evaluation
In the evaluation phase, the software is evaluated to determine if it meets the customer’s
requirements and if it is of high quality.
5. Planning
The next iteration of the spiral begins with a new planning phase, based on the results of
the evaluation.
The Spiral Model is often used for complex and large software development projects, as
it allows for a more flexible and adaptable approach to software development. It is also
well-suited to projects with significant uncertainty or high levels of risk.
The Radius of the spiral at any point represents the expenses(cost) of the project so far,
and the angular dimension represents the progress made so far in the current phase.
Advantages of the Spiral Model
1.Risk Handling: The projects with many unknown risks that occur as the development
proceeds, in that case, Spiral Model is the best development model to follow due to the
risk analysis and risk handling at every phase.
2.Good for large projects: It is recommended to use the Spiral Model in large and
complex projects.
3.Flexibility in Requirements: Change requests in the Requirements at a later phase can
be incorporated accurately by using this model.
4.Customer Satisfaction: Customers can see the development of the product at the early
phase of the software development and thus, they habituated with the system by using it
before completion of the total product.
5.Iterative and Incremental Approach: The Spiral Model provides an iterative and
incremental approach to software development, allowing for flexibility and adaptability
in response to changing requirements or unexpected events.
Disadvantages of the Spiral Model
1.Complex: The Spiral Model is much more complex than other SDLC models.
2.Expensive: Spiral Model is not suitable for small projects as it is expensive.
3.Too much dependability on Risk Analysis: The successful completion of the project is
very much dependent on Risk Analysis. Without very highly experienced experts, it is
going to be a failure to develop a project using this model.
4.Difficulty in time management: As the number of phases is unknown at the start of the
project, time estimation is very difficult.
5.Complexity: The Spiral Model can be complex, as it involves multiple iterations of the
software development process.