0% found this document useful (0 votes)
15 views36 pages

Unit 01 Slides

Software engineering is the systematic process of designing, developing, testing, and maintaining software to ensure high quality and reliability. It encompasses various types of software, including system, application, and embedded software, and is guided by frameworks like the Capability Maturity Model Integration (CMMI). The document also addresses common myths about software development and outlines different process models, including the Waterfall and Spiral models.

Uploaded by

iphoneclient324
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views36 pages

Unit 01 Slides

Software engineering is the systematic process of designing, developing, testing, and maintaining software to ensure high quality and reliability. It encompasses various types of software, including system, application, and embedded software, and is guided by frameworks like the Capability Maturity Model Integration (CMMI). The document also addresses common myths about software development and outlines different process models, including the Waterfall and Spiral models.

Uploaded by

iphoneclient324
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SOFTWARE

ENGINEERING
Definition
• Software is a program or set of programs
containing instructions that provide the
desired functionality.

• Software engineering is the process of designing, developing,


testing and maintaining software. It is a systematic and disciplined
approach to software development that aims to create high-quality,
reliable, and maintainable software.
The Evolving role of software
Software crisis
Software view
Software
engineering
view
Software
product
IMPORTANCE
OF SOFTWARE
ENGINEERING
Characteristics of software

• Software is developed or engineered, it is not


manufactured
• Software doesn't wear out
• Most of the software is custom built
Changing the nature of software
• System Software – Service other programs
Ex: Compilers , Editors
• Application Software – Stand Alone programs Ex: POS
• Engineering/Scientific Software
• Embedded Software: Keypad control Ex: OVEN
• Product-line Software : Word Processing
• Web-applications: Website
• Artificial Intelligence Software: Robotics
LEGACY SOFTWARE
SE – A LAYERED TECHNOLOGY
Software Myths
Management Myths
• Myth1: We already have a book that’s full of standards and
procedures for building software. Won’t that provide my people with
everything they need to know?

• Myth2: If we get behind schedule, we can add more programmers


and catch up?

• Myth3: If I decide to outsource the software project to a third party, I


can just relax.

• Myth4: My people have modern software development tools, after all


, we buy them the newest computers.
Customer Myths

• Myth1: A general statement of objectives is sufficient to begin


writing programs – we can fill in the details later.

• Myth2: Software requirements continually change, but change can


be easily accommodated because software is flexible.
Practitioner’s(Developer) Myths
• Once we write the program and get it to work, our job is done.

• Until I get the program “Running” I have no way of evaluate its


quality.
SOFTWARE PROCESS FRAMEWORK
Umbrella
Activities
A Generic
Software
Process Model
TYPES OF PROCESS FLOW

•Linear Process Flow


•Iterative Process flow
•Evolutionary Process flow
•Parallel Process flow.
Linear Process Flow
Iterative Process flow
Evolutionary Process flow
Parallel Process flow
CAPABILITY MATURITY MODEL INTEGRATION
(CMMI)
• Benchmark for measuring the maturity of an organization.
• It’s a software process

Level 1: Basic level


Immature
Not well defined.
• Level 2: managed (repeatable)

• Basic project management policies (Previous project exp)


• Project planning
• Configuration management
• Software Quality assurance
Level 3 - Defined
• Documentation done in this defined
• Peer reviews
• Intergroup communication
• Training programs
Level 4
• Quantitative and qualitative goals are set
• Software quality management
• Quantitative management
Level 5
• Continuous improvement is done by taking feedback
• Defect prevention
Process Models
• The waterfall model
• Incremental Process model
• Rapid Application Development model
• The prototyping model
• The spiral model
• The concurrent development model
• The unified Process
• Personal & team process model
The Waterfall Model
Important points to remember in this model
• It is called as Classic life cycle model
• Winston Royce introduced the Waterfall model in 1970
• It is also referred as Linear sequential life cycle model
• In Waterfall model, the phases do not overlap.
• Oldest model
• Requirements should be very clear
• No reverse direction
• No customer involvement
• Low budget projects
• Will not allow any changes
Requirement gathering in Waterfall model
• Basic requirement of system
• User requirements – should gather
• Documentation – software requirement specifications(SRS)

Planning & Modelling in Waterfall model


• Plan how to develop the software
• Obtain a design
The Spiral Model
Spiral Model Important Points
• 5 stages
• Repetitive activities
• Iterative model
• Mainly used in risky handling
• Endless loop
• First iteration is core product
• Radius increase money increase and time increase.
• Angle indicates the progress.
• Suitable for longer projects

You might also like