Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

SWE1002- Principles of Software Engineering

An Overview of Software Engineering

Faculty
Dr. Ch Anil Carie
Assistant Professor Sr.Grade-1
2

SWE1002 PSE 30 March 2021


Objectives 3

1. To provide the concepts of software process, product and project


2. To elucidate the knowledge of requirement analysis
3. To provide the knowledge of software design and testing
4. To introduce the project management techniques and asses the risk
management

SWE1002 PSE 30 March 2021


Expected Outcome 4

On completion of the course, students will have the ability to


1. Understand common lifecycle processes including waterfall (linear),
incremental approaches (such as Unified process), and agile approaches.
2. Model the structure and behaviour a software system the UML class
diagrams and state diagrams.
3. Design a solution to a given problem using one or more design patterns.
4. Apply software testing and quality assurance techniques at the module
level, and understand these techniques at the system and organization
level.
5. Prepare technical documentations and make presentations on various
aspects of a software development project.

SWE1002 PSE 30 March 2021


Modules 5

SWE1002 PSE 30 March 2021


Module 1 An Overview of Software Engineering 6

• Nature of Software,
• Software Engineering,
• Software Process,
• Software Engineering Practice,
• Software Process Models:
– Linear ,
– RAD,
– Incremental ,
– Spiral ,
• Component –based development , Fourth Gen Techniques.

SWE1002 PSE 30 March 2021


Module 1 An Overview of Software Engineering 7

• Nature of Software
– Defining the Software
– Software Application Domains
– Legacy Software

SWE1002 PSE 30 March 2021


8

“software industry has become a dominant factor in the economies


of the industrialized world”

Team V/s lone programmers

Same questions

• Why does it take so long to get software finished?


• Why are development costs so high?
• Why can’t we find all errors before we give the software to our customers?
• Why do we spend so much time and effort maintaining existing programs?
• Why do we continue to have difficulty in measuring progress as software is
• being developed and maintained?

SWE1002 PSE 30 March 2021


Defining Software 9

• Software is:
• (1) instructions (computer programs) that when executed provide desired
features, function, and performance;
• (2) data structures that enable the programs to adequately manipulate
information, and
• (3) descriptive information in both hard copy and virtual forms that describes the
operation and use of the programs.

SWE1002 PSE 30 March 2021


Characteristics of Software 10

1. Software is developed or engineered; it is not manufactured in the classical sense.


– Quality problems
– People
– Product is output
2. Software doesn’t “wear out.”

Failure curve for hardware

SWE1002 PSE 30 March 2021


Characteristics of Software 11

Failure curve for Software

SWE1002 PSE 30 March 2021


Characteristics of Software 12

3. Although the industry is moving toward component-based construction, most


software continues to be custom built
o reusable components - encapsulate both data and the processing that is
applied to the data.
o Example: User Interface -Pull down menu

SWE1002 PSE 30 March 2021


Software Application Domains 13

• System software: a collection of


programs written to service other
programs Operating systems or
utility software: (e.g. Windows,
Ubuntu, compilers, editors…),
characterized by multi-threading.

• Application software: stand


alone programs, I see them as
any App you can download from
the Google Store.

SWE1002 PSE 30 March 2021


Software Application Domains 14

• Engineering/scientific software: characterized by


number crunching algorithms. They are real time apps.
(e.g. Matlab, CATIA…).
• Embedded software: software that’s embedded a
certain product (cars, telephones, robots, toys...)
• Product-line software: provides a specific capability
for use by many different customers.
• Web applications: user-server communication
software
• Artificial intelligence software: makes use of non-
numerical algorithms to solve complex problems that
are not amenable to computation or straight forward
analysis.

SWE1002 PSE 30 March 2021

You might also like