LEC-2 (SE) - SW-Process

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 29

Software Engineering

CIS-301
Lec-2
Topic: Software Process

Instructor: Dr. Muhammad Shahid Riaz


Outline

SE: Definitions

Layered Technology

Software Process
What is Software?

Programs

Software
System
Documentation
Data Documentation
Structures
User
Documentation
Common issues
•The final Software doesn´t fulfill the needs of the
customer.

•Hard to extend and improve: if you want to add a


functionality later is mission impossible.

•Bad documentation.

•Bad quality: frequent errors, hard to use, ...

•More time and costs than expected


Conclusion

Programming is NOT
enough!
It is not enough to do your best: you must
Know what to do, and THEN do your best.
-- W. Edwards Deming
Solution
Software
Engineering
Engineering

Engineering is a scientific field that involves


taking our scientific understanding of the
natural world and using it to invent, Design, and
Build things to solve problems and achieve
practical solutions.
Software Engineering

The application of a systematic,


disciplined, quantifiable approach to the
development, operation, and maintenance
of software, and the study of these
approaches; that is, the application of
engineering to software.
-IEEE
Software Engineering
“A systematic approach to the analysis, design,
implementation and maintenance of software.”
(The Free On-Line Dictionary of Computing)
“ The systematic application of tools and techniques in the
development of computer-based applications.”
(Sue Conger in The New Software Engineering)
“ Software Engineering is about designing and developing
high-quality software.”
(Shari Lawrence Pfleeger in Software Engineering -- The
Production of Quality Software)
Software Engineering
A Layered Technology
Software Engineering
A Layered Technology
• Any engineering approach must rest on organizational commitment to
quality which fosters a continuous process improvement culture.
• Process layer as the foundation defines a framework with
activities for effective delivery of software engineering technology.
Establish the context where products (model, data, report, and forms)
are produced, milestone are established, quality is ensured and change
is managed.
• “A process defines who is doing what when and
how to reach a certain goal.”
• Method provides technical how-to’s for building software. It
encompasses many tasks including communication, requirement
analysis, design modeling, program construction, testing and support.
• Tools provide automated or semi-automated support for the process
and methods.
The Software Process
A process is a collection of activities, actions, and tasks that are
performed when some work product is to be created.

Activity strives to achieve a broad objective (e.g., communication


with stakeholders)

An action (e.g., architectural design) encompasses a set of tasks that


produce a major work product.

A task focuses on a small, but well-defined objective (e.g.,


conducting a unit test).
Process Framework Activities
Process Framework Activities..
Communication

Before any technical work can commence, it is critically


important to communicate and collaborate with the
customer (and other stakeholders). The intent is to
understand stakeholders’ objectives for the project and
to gather requirements that help define software
features and functions.
Process Framework Activities..
Planning

Project plan—defines the software engineering work by


describing the technical tasks to be conducted, the
risks that are likely, the resources that will be required,
the work products to be produced, and a work
schedule.
Process Framework Activities..
Modeling
Whether you’re a landscaper, a bridge builder, an
aeronautical engineer, a carpenter, or an architect, you
work with models every day. You create a “sketch” of
the thing so that you’ll understand the big picture—
what it will look like architecturally, how the
constituent parts fi t together, and many other
characteristics.
A software engineer does the same thing by creating
models to better understand software requirements
and the design that will achieve those requirements.
Process Framework Activities..
Construction

What you design must be built. This activity combines


code generation (either manual or automated) and the
testing that is required to uncover errors in the code.
Process Framework Activities..
Deployment

The software (as a complete entity or as a partially


completed increment) is delivered to the customer who
evaluates the delivered product and provides feedback
based on the evaluation
Schematic
Process
Model
Umbrella Activities
Applied throughout a software project and help a
software team manage and control progress, quality,
change, and risk.

A) Software project tracking and control


allows the software team to assess progress against the
project plan and take any necessary action to maintain
the schedule.
Umbrella Activities..
B) Software quality assurance
defines and conducts the activities required to
ensure software quality.

C) Technical reviews
assess software engineering work products in an effort
to uncover and remove errors before they are
propagated to the next activity.
Umbrella Activities..
D) Reusability management
defines criteria for work product reuse (including
software components) and establishes mechanisms to
achieve reusable components.

E) Software configuration management


manages the effects of change throughout the software
process.
The Essence of Practice

In the classic book, How to Solve It, written before modern


computers existed, George Polya [Pol45] outlined the essence of
problem solving , and consequently,
the essence of software engineering practice:
1. Understand the problem (communication and analysis).
2. Plan a solution (modeling and software design).
3. Carry out the plan (code generation).
4. Examine the result for accuracy (testing and quality
assurance).
S/W Process Structure
S/W Process Structure..
S/W Process Structure..
Q?

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy