Module 01 CH 1
Module 01 CH 1
(21CS61)
Department: CSE
1
Text Book Details
1. Roger S. Pressman: Software Engineering-A Practitioners
approach, 7th Edition, Tata McGraw Hill.
SE&PM 2
Weblinks and Video Lectures (e-
Resources)
1. https://onlinecourses.nptel.ac.in/noc20_cs68/preview
M 2. https://www.youtube.com/watch?v=WxkP5KR_Emk&list=PLrjkTql3jnm9b5nrggx7Pt1G4UAHeFlJ
O
D
U 3. http://elearning.vtu.ac.in/econtent/CSE.php
L
E 4. http://elearning.vtu.ac.in/econtent/courses/video/CSE/15CS42.html
1
5. https://nptel.ac.in/courses/128/106/128106012/ (DevOps)
SE&PM 3
Course Learning Objectives
CLO 1. Outline software engineering principles and activities involved in
building large software programs. Identify ethical and professional issues and
explain why they are of concern to Software Engineers.
M
O
D CLO 2. Describe the process of requirement gathering, requirement
U
L classification, requirement specification and requirements validation.
E
1
CLO 3. Understand the need for Agile method and tools over the traditional
method of software development methods.
SE&PM 5
Assessment Details
M
O
D
U
L
E
SE&PM 6
Course Outcomes
CO 1. Understand the activities involved in software engineering and analyze
the role of various process models.
1
CO 4. Illustrate the role of project planning and management of the project in
software development
SE&PM 7
MODULE 1
Syllabus:
--Software and Software Engineering: The nature of Software,
M
O The unique nature of WebApps, Software Engineering, The
D
U
L
software Process, The software Engineering practice, The
E
1
software myths, How it all starts
SE&PM 8
MODULE 1
Syllabus:
Process Models: A generic process model, Process
M
O
D
assessment and improvement, Prescriptive process models,
U
L
E
Waterfall model, Incremental process models, Evolutionary
1
process models, Concurrent models, Specialized process
models.
M
O
D
U
L
E
SE&PM 10
What is SOFTWARE ENGINEERING?
1
✓ Developing
✓ Testing
M
O ✓ Delivers computing potential of hardware and networks.
D
U
L
E • Software is a Vehicle for delivering a product
1 ✓Controls other programs ( Operating Systems )
SE&PM 12
1.1.1 Defining Software
• Same set of questions were still asked to both Lone Programmers and even
now, such as
1 ▪ Why cant we find all errors before we give the software to our customer ?
SE&PM 13
1.1 THE NATURE OF SOFTWARE[3]
• Software is defined as:
SE&PM 14
Characteristics of Software[1]
• 1.Software is a Logical element rather than a Physical System
element.
✓ Software is developed or engineered; it is not manufactured in
the classical sense.
M ✓ 2.Software doesn’t “Wear Out”.
O
D
U ❖ This indicates that Hardware exhibits relatively
L high failure rates early in its life (due to design or
E
manufacturing defects)
1
❖ Defects are then corrected and failure rate drops
to steady state for some period of time.
❖ As time passes, failure rate rises again as
hardware components can fail to work.
SE&PM 15
Characteristics of Software[2]
• The below figure depicts the Failure curve for Software
• 3.Although the industry is moving toward component-based
construction, most software continue to be custom built.
M
O
D
U
L
❖ Undiscovered defects will cause high
E failure rates in the life of a program.
1
❖ Later they are corrected and the
curve flattens.
SE&PM 16
1.1.2 Software Application Domains[1]
• There are now 7 broad categories of computer Software that continue
giving challenges to Software Engineers
M 1. System Software
O
D 2. Application Software
U
L
E
3. Engineering/Scientific Software
1 4. Embedded Software
5. Product-Line Software
6. Web-Applications
7. Artificial Intelligence Software
SE&PM 17
1.1.2 Software Application Domains[2]
• System software:
• a collection of programs written to service other programs. Some
system software (e.g., compilers, editors, and file management utilities)
M processes complex, but determinate, information structures.
O
D
U • the systems software area is characterized by heavy interaction with
L
E
computer hardware
1
SE&PM 18
1.1.2 Software Application Domains[3]
Application software:
M
s in this area process business or technical data in a way that facilitates
O
D business operations or management/technical decision making.
U
L
E -In addition to conventional data processing applications, application
1
software is used to control business functions in real time
SE&PM 19
1.1.2 Software Application Domains[3]
Type of Software Description
System Software ➔ System software is a collection of programs written to service other
programs
➔ Example: Compilers, Editors, File management utilities
Application Software ➔ consists of standalone programs that solve a specific business need.
M
O
➔ process Business or Technical data
D Engineering/Scientific ➔ Range from Astronomy to Volcanology, Automotive to Space, etc..
U
L Software ➔ Nowadays to handle real time data, we have Computer-Aided Deisgn,
E System Simulation etc.
1 Embedded Software ➔ resides within a product or system
➔ Example: Digital functions in an automobile such as Fuel Control, Braking
systems etc
Product-Line Software ➔ Can focus on limited and specific marketplace products
➔ Example: Word processing, multimedia, entertainment etc.
Web-Applications ➔ “WebApps” span a wide variety of applications used over a Network
Artificial Intelligence Software ➔ Makes use of non-numerical algorithms to solve complex problems
➔ Applications within
SE&PM this area includes Robotics, Expert Systems, Pattern 20
Recap Lecture1
• Software Engineering
SE&PM 21
Lecture 2
• Legacy software
M
O
D
U
L
E
SE&PM 22
Legacy software[1]
• Very old Software
M • Inextendible Design
O
D
U • No documentation
L
E
• Can’t meet the needs of new technologies
1
SE&PM 23
Legacy software[2]
➢ Legacy software systems were developed decades ago and have been
continually modified to meet changes in business requirements and
computing platforms.
M
O ➢ The proliferation of such systems is causing headaches for large
D
U
L
organizations who find them costly to maintain and risky to evolve.
E
1
➢ Many legacy systems remain supportive to core business functions
and are ‘indispensable’ to the business.”
M
O
D
U
L
E
SE&PM 26
1.2 The unique nature of webApps[2]
➢ Today, WebApps have evolved into sophisticated computing tools that
not only provide stand-alone function to the end user, but also have
been integrated with corporate databases and business applications.
M
O
D ➢ Web-based systems and applications “involve a mixture between
U
L
E
print publishing and software development, between marketing and
1 computing, between internal communications and external relations,
and between art and technology.”
SE&PM 27
1.2 The unique nature of webApps[3]
Attributes of WebApps:
• Network intensiveness
• Concurrency
• Unpredictable load
M
O
• Performance
D
U
• Availability
L
E
• Data driven
1
• Content sensitive
• Continuous evolution
• Immediacy
• Security
• Aesthetics(Look & feel)
SE&PM 28
Recap Lecture 2
• Legacy software
M
O
D
U
L
E
SE&PM 29
Lecture 3
• Software Engieering
• Software Process
M • Software Myths
O
D
U
L
E
SE&PM 30
1.3 Software Engineering[1]
➢ Software has become deeply embedded in virtually every aspect of
our lives, and consequently, the number of people who have an
interest in the features and functions provided by a specific
application has grown dramatically.
M
‘’It follows that a concerted effort should be made to understand
O the problem before a software solution is developed.’’
D
U
L
E ➢ The information technology requirements demanded by individuals,
1 businesses, and governments grow increasing complex with each
passing year.
‘’It follows that design becomes a pivotal activity.’’
SE&PM 31
1.3 Software Engineering[2]
➢ Individuals, businesses, and governments increasingly rely on
software for strategic and tactical decision making as well as day-to-
day operations and control.
M
O
D ‘’It follows that software should exhibit high quality.’’
U
L
E ➢ As the perceived value of a specific application grows, the likelihood
1
is that its user base and longevity will also grow.
SE&PM 32
Software engineering-Definitions[1]
Fritz Bauer [Nau69]:
➢ [Software engineering is] the establishment and use of sound
engineering principles in order to obtain economically software that is
reliable and works efficiently on real machines.
M
O
D IEEE [IEE93a]:
U
L
E
➢ Software Engineering:
1
➢ The application of a systematic, disciplined, quantifiable approach to
the development, operation, and maintenance of software; that is,
the application of engineering to software.
SE&PM 33
Software engineering-Definitions[2]
• Software engineering is a layered technology.
SE&PM 34
Software engineering-Definitions[3]
➢ Process defines a framework that must be established for effective
delivery of software engineering technology.
SE&PM 35
1.4 The software process[1]
➢ A process is a collection of activities, actions, and tasks that are
performed when some work product is to be created.
➢ An activity strives to achieve a broad objective (e.g., communication with
M stakeholders) and is applied regardless of the application domain, size of
O
D the project, complexity of the effort, or degree of rigor with which
U
L software engineering is to be applied.
E
SE&PM 36
1.4 The software process[1]
➢ Construction
➢ Deployment
SE&PM 38
1.4 The software process[3]
Software engineering process framework activities are complemented by a number of
umbrella activities. Typical umbrella activities include:
❑ Measurement
❑ Reusability management
SE&PM 40
1.5.2 General Principles
The dictionary defines the word
• The First Principle: The Reason It All Exists
SE&PM 44
1.6Software Myths
Management myths.
SE&PM 45
1.6Software Myths
Customer myths.
SE&PM 46
1.6Software Myths
Practitioner’s myths/Developer myths.
Myth 1: Once we write the program and get it to work, our job is done.
M Myth 2: Until I get the program “running” I have no way of assessing its quality
O
D
U
L Myth 3: The only deliverable work product for a successful project is the working
E
Program
1
SE&PM 47
End of chapter-01
48