Software engineering Concepts
Software Engineering
Definition:
Software engineering is the application of principles used in the field of engineering, which
usually deals with physical systems, to the design, development, testing, deployment and
management of software systems.
Software
Software is a set of instructions, data or programs used to operate computers and execute
specific tasks.
Types of Softwares
Application Softwares:
Application software is a type of computer program that performs a specific personal,
educational, and
Business function.
Examples:
Office Suits
Graphics Software’s
Database and database management program
Web browsers
System Softwares:
Software program are designed to to run a computer application programs and hardwares
Examples
Firmware
Computer program
System utilities
Driver softwares
Faisal Tahseen
SP21-BCS-027
,Device driver control the devices and peripherds connected to a computer, enabling them
perform specific tasks.
Examples
USB Drivers
Game Controller Drivers
Headphone Drivers
Embedded Softwares;
Embedded Softwares is specialized programming in chip or on firmwares in an embedded
deices to control its function.
Examples:
Motion detection system in security cameras.
Traffic control system in traffic lights.
Software Development Life Cycle (SDLC)
SDLC, or Software Development Life Cycle, is a set of steps used to create software
applications. These steps divide the development process into tasks that can then be
assigned, completed, and measured.
Faisal Tahseen
SP21-BCS-027
, 1-Water Fall Model
The waterfall model is a classical model used in system development life cycle to create a
system with a linear and sequential approach. It is termed as waterfall because the model
develops systematically from one phase to another in a downward fashion.
Waterfall Model - Advantages
• Simple and easy to understand and use
• Phases are processed and completed one at a time.
• Clearly defined stages.
• Well understood milestones.
• Easy to arrange tasks.
• Process and results are well documented.
Waterfall Model - Disadvantages
• No working software is produced until late during the life cycle.
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects
Faisal Tahseen
SP21-BCS-027
, 1-Waterfall model:
2-Prototype Model:
The prototype model is the methodology of a working prototype or doing the work that
comes first to the developer and creates the sample of it.
Advantage of Prototype Model
1. Reduce the risk of incorrect user requirement
2. Good where requirement are changing/uncommitted
3. Regular visible process aids management
4. Support early product marketing
5. Reduce Maintenance cost.
6. Errors can be detected much earlier as the system is made side by side.
Faisal Tahseen
SP21-BCS-027
Software Engineering
Definition:
Software engineering is the application of principles used in the field of engineering, which
usually deals with physical systems, to the design, development, testing, deployment and
management of software systems.
Software
Software is a set of instructions, data or programs used to operate computers and execute
specific tasks.
Types of Softwares
Application Softwares:
Application software is a type of computer program that performs a specific personal,
educational, and
Business function.
Examples:
Office Suits
Graphics Software’s
Database and database management program
Web browsers
System Softwares:
Software program are designed to to run a computer application programs and hardwares
Examples
Firmware
Computer program
System utilities
Driver softwares
Faisal Tahseen
SP21-BCS-027
,Device driver control the devices and peripherds connected to a computer, enabling them
perform specific tasks.
Examples
USB Drivers
Game Controller Drivers
Headphone Drivers
Embedded Softwares;
Embedded Softwares is specialized programming in chip or on firmwares in an embedded
deices to control its function.
Examples:
Motion detection system in security cameras.
Traffic control system in traffic lights.
Software Development Life Cycle (SDLC)
SDLC, or Software Development Life Cycle, is a set of steps used to create software
applications. These steps divide the development process into tasks that can then be
assigned, completed, and measured.
Faisal Tahseen
SP21-BCS-027
, 1-Water Fall Model
The waterfall model is a classical model used in system development life cycle to create a
system with a linear and sequential approach. It is termed as waterfall because the model
develops systematically from one phase to another in a downward fashion.
Waterfall Model - Advantages
• Simple and easy to understand and use
• Phases are processed and completed one at a time.
• Clearly defined stages.
• Well understood milestones.
• Easy to arrange tasks.
• Process and results are well documented.
Waterfall Model - Disadvantages
• No working software is produced until late during the life cycle.
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects
Faisal Tahseen
SP21-BCS-027
, 1-Waterfall model:
2-Prototype Model:
The prototype model is the methodology of a working prototype or doing the work that
comes first to the developer and creates the sample of it.
Advantage of Prototype Model
1. Reduce the risk of incorrect user requirement
2. Good where requirement are changing/uncommitted
3. Regular visible process aids management
4. Support early product marketing
5. Reduce Maintenance cost.
6. Errors can be detected much earlier as the system is made side by side.
Faisal Tahseen
SP21-BCS-027