Week 1 - Introduction to Software Engineering
Week 1 - Introduction to Software Engineering
Module CS5002NI
1
Weekly Objective
● Demonstrate an understanding of the concepts and principles of software development.
● Understand the complete software, Engineering, and Software engineering.
● Understand the different types of software products and their examples.
● Understand the different types of application softwares and their applications.
● Be able to identify the essential attributes of good software.
Weekly Objective
● Be able to identify the symptoms of poorly engineered software products and their main factors.
● Understand the systematic approach of software engineering to develop software.
● Understand and able to explain the major challenges faced by the software engineers.
● Understand the importance of software engineering.
Software Engineering
4
Introduction to Software Engineering
Software :-
Computer Programs : It is a program / set of programs
containing instructions which provide desired functionality.
Associated Documentation : Also comprise of data structures
that enable the program to manipulate information.
Engineering :-
The process of designing and building something that
serves a particular purpose
5
Definition of Software Engineering
IEEE defines Software Engineering as:
6
Different kinds of Software products
1. Generic products
2. Customized products
7
Different kinds of Software products
1. Generic products
• Stand-alone systems that are marketed and sold to any customer who wishes to buy them.
• Examples – PC software such as graphics programs, project
management tools; CAD software; software for specific
markets such as appointments systems for dentists.
8
Different kinds of Software products
2. Customized products
▪ Software that is commissioned by a specific customer to meet their own needs.
▪Examples – Air traffic control software,
Traffic monitoring systems.
9
Application Software
10
Different Application Types software
● Stand-alone applications
● Interactivetransaction-based
applications
● Embedded control systems
● Batch processing systems
● Entertainment systems
● Systems for modeling and simulation
● Data collection systems
11
Different Application Types software
● Stand-alone applications
These are application systems that run on a local
computer, such as a PC. They include all necessary
functionality and do not need to be connected to a
network.
12
Different Application Types software
● Interactive transaction-based applications
13
Different Application Types software
● Embedded control systems
These are software control systems that control and
manage hardware devices. Numerically, there are
probably more embedded systems than any other type
of system.
14
Different Application Types software
● Batch processing systems
15
Different Application Types software
● Entertainment systems
16
Different Application Types software
● Systems for modeling and simulation
17
Different Application Types software
● Data collection systems
These are systems that collect data from their environment using a set
of sensors and send that data to other systems for processing.
18
Essential attributes of good software
● Maintainability
● Dependability and security
● Efficiency
● Acceptability
19
Software Crisis
Software Crisis
Software crisis is a term used in the early days of computing science for the difficulty of
writing useful and efficient computer programs in the required time.
Symptoms of Poorly Engineered Software Products
• Fail to meet user requirements.
• Expensive
21
Software process
The systematic approach that is used in software engineering is called as
a software process.
• Software Specification
• Software development
• Software validation,
• Software evolution,
22
Web Software Engineering
The Web is now a platform for running application and organizations are
increasingly developing web-based systems rather than local systems.
23
Web Software Engineering
24
Important of Software Engineering
●Enables us to build complex system in a timely manner
25
Er. Rajesh Dware
2. Maintainability
❖After the Software has been developed and delivered, should be
easily enhanced and adopt to changing requirements whenever
required.
26
Key points
●Software engineering is an engineering discipline that is concerned with all aspects
of software production.
●Essential software product attributes are maintainability, dependability and security,
efficiency and acceptability.
●The high-level activities of specification, development, validation and evolution are part
of all software processes.
●There are many different types of system and each requires appropriate software
engineering tools and techniques for their development.
●The fundamental ideas of software engineering are applicable to all types of software
system.
27
Thank You
28
Next Class
Information System