Unit 1
Unit 1
Unit 1
• Real-time software: It observes, analyzes, and controls real world events as they
occur An example of real-time software is the software used for weather forecasting
technology
• Personal computer (PC) software: This class of software is used for both
BIOS Driver
Display Drivers
Motherboard Drivers
Printer Drivers
ROM Drivers
USB Drivers
Firmware is the permanent software that is embedded into a read-only
memory.
infrastructure.
Application Software
software that helps the user in completing tasks such as doing online research, jotting
down notes, setting an alarm, designing graphics, keeping an account log, doing
Word Processors:
Database Software:
Multimedia Software:
Graphics Software:
Web Browsers:
The software can also be classified based on their
Adobe Reader
Audacity
ImgBurn
Recuva
Skype
Team Viewer
Yahoo Messenger
2. Shareware
It is a software that is freely distributed to users on a trial
basis. It usually comes with a time limit and when the time
services.
Open-source
These kinds of software are available to users with
the source code which means that a user can freely
distribute and modify the software and add
additional features to the software.
Licensed Software
Communication.
Teamwork.
Computer programming and coding.
Problem-solving.
Multitasking.
Attention to detail.
Software Components
Software components are parts of a
system or application. Components are a
means of breaking the complexity
of software into manageable parts.
Each component hides the complexity of
its implementation behind an interface.
Components of Software:
There are three components of the software:
Program:
Software specification.
Software evolution.
software processes components
Software Specifications:
In this process, detailed description of a software system to be developed
with its functional and non-functional requirements.
Software Development:
In this process, designing, programming, documenting, testing, and bug
fixing is done.
Software Validation:
In this process, evaluation software product is done to ensure that the
software meets the business requirements as well as the end users needs.
Software Evolution:
It is a process of developing software initially, then timely updating it for
various reasons.
Software Crisis:
cost estimates.
the software development process
What is Software Process Model?
Prepared by
Prepared by
Pragati
Pragatiraghuwanshi
raghuwanshi
INDEX
History of water fall model.
Features of water fall model.
Phase of water fall model.
Brief description of phases.
Advantages.
Disadvantages.
History of Waterfall Model
1) The first formal description of the waterfall model is
often cited as a 1970 article by Winston W. Royce
Deep Ali
MSc III Sem
RAD MODEL
Presented by
Raina Agnihotri
System Development Life Cycle-
SDLC MODEL-
prototype simultaneously.
The team focuses on present iteration only and the time planned for
information for business, how it can be obtained, how and when is the
information.
reviewed and analysed to form sets of data objects. The attributes of the data
sets are identified and defined. The relation between these data objects are
established.
3. Process Modelling- The data object sets defined in the data
modelling phase are converted to establish the business
information flow as per the business model.
2. Quick Development,
Applicability of RAD-
1. Minimal planning.
Disadvantages-
. Requires user involvement throughout the life cycle.
Presentation by
Ashutosh tiwari
SDLC MODEL ( 10 WORD )
WHEN TO USE
DIFFERENCE
SDLC (Software development life cycle ) MODEL
Start with very raw specification and modifying this according to your software
needs/customer needs.
Here we develop many versions on software in which requirements are added with
each versions . like :- beta version, version 1 , version2 ……...
https://www.geeksforgeeks.org/software-engineering-evolutionary-model/
Example :-
● Windows 10 S
● Windows 10
● Windows 8/8.1
● Android 4.4 KitKat ● Windows 7 (2009)
● Android 5.0 Lollipop ● Windows Vista (2006)
modules.
Error reduction
User satisfaction
Business Benefit
High quality
Low risk
Disadvantage
Several version release
Time and cost
Structure
Spiral Model Incremental Concurrent
Model development Model
Spiral Model
In its diagrammatic representation, it looks like a spiral with many loops. The exact
number of loops of the spiral is unknown.
Each loop of the spiral is called a Phase of the software development process.
The exact number of phases needed to develop the product can be varied by the
project manager depending upon the project risks.
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.
economic priorities
Advantages of Spiral Model :
Risk Handling
Flexibility in Requirements
Customer Satisfaction
Disadvantages :
● Complex
Expensive
● Planning
● Risk analysis
● Development /
Engineering
● Evaluation
planning
Risk
Analysis
Evolution Development
INCREMENTAL MODEL
Error Reduction (core modules are used by the customer from the
Disadvantages
software development
For faster development
Disadvantage
What exactly are the data input to the system and what exactly are the data
What are the likely complexities that might arise while solving the problem?
If there are external software or hardware with which the developed software
has to interface, then what exactly would the data interchange formats with the
After the analyst has collected all the requirements information regarding
Black-box view. - It should only specify what the system should do and refrain from stating
how to do these.
Conceptual integrity. - It should show conceptual integrity so that the reader can easily
understand it.
events.
Verifiable. - All requirements of the system as documented in the SRS document should be
verifiable.
Techniques for representing Complex Logic
Decision Tree
Decision Table
Decision table -A decision table is used to represent
the complex processing logic in a tabular or a matrix form.
Decision tree
A decision tree gives a graphic view of the processing logic involved in decision
making and the corresponding actions taken. The edges of a decision tree
represent conditions and the leaf nodes represent the actions to be performed
Performance requirements
Design constraints
1. A detailed description of all the data inputs and their sources, the units of measure, and
2. All the operations to be performed on the input data obtain the output should be
specified, and
3. Care must be taken not to specify any algorithms that are not parts of the system but that
4. It must clearly state what the system should do if system behaves abnormally when any
Standard Compliance: It specifies the requirements for the standard the system must follow. The
standards may include the report format and according procedures.
Hardware Limitations: The software needs some existing or predetermined hardware to operate,
thus imposing restrictions on the design. Hardware limitations can includes the types of machines
to be used operating system availability memory space etc.
Fault Tolerance: Major constraint on how the system is to be designed. Fault tolerance
requirements often make the system more complex and expensive, so they should be minimized.
Security: Security requirements place restrictions on the use of certain commands control access
to database, provide different kinds of access, and cryptography techniques, and maintain a log of
activities in the system.
4. External Interface Requirements
1. All the possible interactions of the software with people hardware and
between the software product and the hardware components for hardware
interfacing.
Management needs:
Feasibility Study
Objectives of Feasibility Study
software.
Technical feasibility assesses the current resources (such as H/w and
requirements.
high priority.
team is acceptable.
an organization.
Types
performance, design constraints and quality attributes) of the software and the
external interfaces.
Itcan also include use cases that illustrate how a user would interact
stakeholders' needs.
what the system needs to perform. You may find later that there are additional or
constrains.
Verifiability: Requirements should be written so that they can be tested. This means
y o u
a n k
T h