Professional Documents
Culture Documents
Introduction Process Model
Introduction Process Model
Introduction Process Model
BOOKS
Books :--
1 . Software Engineering by Sommerville - Pearson
2. Software Engineering- a Practitioner Approach
by Rodger Pressman – Mc Graw Hill
3. Object Oriented approach of Software Engineering by Jacobson
4. Software Engineering concepts and application by Subhajit Datta
5. Modern Structured Analysis by Edward Yourdan - PHI
6. Fundamentals of Software Engineering by Carlo Ghezzi - PHI
OBJECTIVES
• Late delivery
• Did not incorporate the required
functionality
• Cost more than expected
• Were not reliable
PROGRESS OF SOFTWARE ENGINEERING
Software engineering has made remarkable
progress in last 40 years with the coming up of :
New techniques such as structured and object
oriented programming
Variety of software engineering methodologies
and software tools
Recent technologies for development and
deployment of large enterprise applications are:
• J2EE
• .NET
• Saas
• SAP
SOFTWARE ENGINEERING
ACHIEVEMENTS
Controlling national utilities and infrastructure-
⚫ Industrial Production
⚫ Financial sector
⚫ Energy,
⚫ Communications,
⚫ Entertainments and
⚫ Transport
Exploring space
• Need for :
New software technologies to address these problems
WHAT IS SOFTWARE ENGINEERING ?
Engineering discipline that is concerned with all aspects of
software production.
1.) PROGRAM
-- It is a subset of software & it becomes software only if documentation
and operating procedure manuals are prepared.
-- It is a combination of source code and object code.
2.) DOCUMENTATION
-- It consists of different types of manuals like analysis specification
manual ,design manual, implementation manual & testing manual.
Measurements of Software:
Software measurement is done by-- Metrices
⚫ Product Metric, Process Metrics , Project Metrics
⚫ Product Metric: size( LOC, Function point), reliability, efficiency
⚫ Process Metric: Effort (person per months), time , maturity of the
process, effectiveness of defect removal
⚫ Project Metric: cost, schedule, productivity
SOFTWARE COMPONENT
⚫ Replaceable
It is not manufactured
It is flexible.
PRINCIPLES of Software Engineering
Process models
Principles
ROLE OF MANAGEMENT IN SOFTWARE
DEVELOPMENT
The management of software development is heavily
dependent on four factors : People, Product, Process, Project
1.) People: Software development requires good managers who
can understand the psychology of people & provide good
leadership. Manager selection is most crucial and critical for
success of the project. It is the responsibility of a manager to
manage, motivate, encourage , guide and control the people of
his team.
2) Project: In order to manage a successful project, we must
understand what can go wrong and how to do it right. We
should define concrete requirements.
PROFESSIONAL AND ETHICAL
RESPONSIBILITY
Software engineering involves wider responsibilities than
simply the application of technical skills.
Product
⚫ Software engineers shall ensure that their products and
related modifications meet the highest professional
standards possible.
CODE OF ETHICS - PRINCIPLES
Judgment
⚫ Software engineers shall maintain integrity and independence in
their professional judgment.
Management
⚫ Software engineering managers and leaders shall subscribe to and
promote an ethical approach to the management of software
development and maintenance.
Profession
⚫ Software engineers shall advance the integrity and reputation of
the profession consistent with the public interest.
CODE OF ETHICS - PRINCIPLES
Colleagues
⚫ Software engineers shall be fair to and supportive of their
colleagues.
Self
⚫ Software engineers shall participate in lifelong learning
regarding the practice of their profession and shall promote
an ethical approach to the practice of the profession.
ETHICAL DILEMMAS
Disagreement in principle with the policies of senior
management.
Desired Product
• Conceptual schema
• Logical schema
• Data flow diagram
• Modular structure of programs
Process model
An abstract representation of the development process
presented from a specific perspective
WHY PROCESS MODELS?
Management Viewpoint
⚫ Control the progress of projects
⚫ Document
⚫ Prototype
GENERIC PROCESS MODELS
Waterfall Model
Prototype model
Incremental Process Model
Evolutionary Process Model
Rapid application development model
Spiral model
WATERFALL MODEL
This model is named “waterfall model” because its
diagrammatic representation resembles a cascade of
waterfalls.
WATERFALL MODEL (Contd…)
Reinforces the notion of “define before design” and
“design before code”.
Easy to understand.
Customer dissatisfaction
⚫ No feel for what shall be obtained
⚫ Emphasis on “freezing’
Evolution management is difficult
⚫ Reverse Engineering difficulties
⚫ Requirements modification difficulties
⚫ User sign-off necessary to proceed
Heavily document driven
Analyst may write poorly understood interfaces.
Customer must have patience.
PROTOTYPING MODEL
1) Initial Requirements
2) Rapid design
3) Develop the prototype
4) Evaluation of prototype by customer
5) Refine requirements and go to step 2
The same phases as defined for the waterfall model occur here in a
cyclical fashion.
Useful for projects using new technology that is not well understood.
Prototype is refined