0% found this document useful (0 votes)
63 views75 pages

Oose PPT

The document outlines key concepts in software engineering, including various software development models such as Waterfall, Spiral, and Prototyping, along with their advantages and disadvantages. It also covers software design principles, testing strategies, project planning, scheduling, and risk management. Additionally, it discusses software metrics and the importance of configuration management in software projects.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views75 pages

Oose PPT

The document outlines key concepts in software engineering, including various software development models such as Waterfall, Spiral, and Prototyping, along with their advantages and disadvantages. It also covers software design principles, testing strategies, project planning, scheduling, and risk management. Additionally, it discusses software metrics and the importance of configuration management in software projects.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 75

SOFTWARE ENGINEERING

UNIT I - INTRODUCTION
• Software paradigms –
Engineering
Waterfall Life cycle Spiral
model –
– Prototype Model Model
– Fourth
Generation Techniques – Planning
– Software Project
Scheduling, – Risk analysis
manageme – and
nt Requirements and
Specificatio
n
UNIT II - SOFTWARE DESIGN
• Abstraction – Modularity –
Software Architecture – Cohesion –
Coupling – Various Design
Concepts and notations – Real time
and Distributed System Design –
Documentation – Dataflow
Oriented design – Jackson System
development – Designing for
reuse – Programming standards –
Case Study for Design of any
Application Project.
UNIT III - SOFTWARE TESTING
AND MAINTENANCE
• Software Testing Fundamentals
– Software testing strategies –
Black Box Testing – White Box
Testing – System Testing – Object
Orientation Testing – State based
Testing - Testing Tools – Test Case
Management – Software
Maintenance Organization –
Maintenance Report – Types of
Maintenance
UNIY IV - SOFTWARE METRICS
• Scope – Classification of
metrics – Measuring Process and
Product attributes – Direct and
Indirect measures – Cost
Estimation - Reliability – Software
Quality Assurance – Standards –
COCOMO model.
UNIT V - SCM
• Need for SCM – Version Control –
SCM process – Software
Configuration Items – Taxonomy –
CASE Repository – Features – Web
Engineering
UNIT I - INTRODUCTION:
• Software is more than just a program code.
• A program is an executable code, which
servers some computational purpose.
• Software is the collection of computer
programs, procedures rules and
associated documentation and data.
• Software is an information
transformer- producing, managing,
modifying, displaying or
transforming information that can
simple as a single bit or a
complex as a multimedia application.
Software Products:
• Software products may be developed for
a particular customer or may be
developed for a general market.
• Software products may be:
• Generic
• Bespoke
• What are the attributes of good software?
• Maintainability.
• Dependability
• Efficiency
• Usability
What is the difference between software engineering
and computer science?
Software Engineering Paradigms:
Software Characteristics:
• Software is developed or
engineered, it is not manufactured
in the classical sence.
• Software doesn’t “wear out”.
• Although the industry is moving
towards component based
assembly, most software
continues to be custom to built.
Software Applications Types:
• System Software.
• Real-time Software.
• Business Software.
• Engineering and Scientific
Software.
• Embedded Software.
• Personal Computer Software.
• Web-based Software.
• Artifical Intelligence Software.
Software Engineering -A layered Technology:

• Application of a
systematic,
disciplined,
quantifiable
approach to the
development,
operation and
maintenance of
software that is,
the application of
engineering
software.
What are the five generic process framework
activities?
• The following generic process
framework is applicable to the
majority of software projects.
• Communication.
• Planning.
• Modeling.
• Construction.
• Deployment.
Process Models:
• Every software engineering
organization should describe a
unique set of framework activities for
the software process it adopts.
• Waterfall Life Cycle Model.
• Iterative Waterfall Life
Cycle Model.
• Prototyping Model.
• Incremental Model.
• Sprial Model.
• RAD Model.
• Sprial Model.
Waterfall Life Cycle Model.
• It is called classic life cycle or Linear
model.
• Requirements are well defined and stable.
• It suggests a systematic, sequential
approach to software development.
• It begins with customer
specification of requirements and
progresses.
• Planning.
• Modeling.
• Construction and
• Deployment.
Advantages:
• Easy to understand.
• Each phase has well defined input and
output.
• Helps project manger in proper planning of
project.
• Provides a templates into which methods
of analysis, design, code and support can
be placed.
Disadvantages:
phases.
•• One way street.
Model support delivery of system
• It lack
doesn’t overlapping
in and interactions
among
pieces.
Phases of the Classical Waterfall Model:
Feasibility Study:
• It involves analysis of the problem and
collection of
allrelevant information relating to the product.
• The collected data are analysed.
– Requriments of the Customer.
– Formulations of the different strategies for
solving the
problem.
– Evaluation of different solution strategies.
Requriments Analysis and Specification:
• It is understand the exact requriments of the
customer
and to document them properly.
– Requirements gathering and analysis.
– Requirements specification.
Design:
• The deign phase is to transform the
requirements specified in the document into a
structure that is suitable for implementation
in some programming languaage.
• Traditional Design Approach.
• Object-Oriented Design Approach.
Coding and Unit Testing:
• The purpose mof the coding and unit testing
phase of software development is to translate
the software design into source code.
Integration and System Testing:
• ‘Integration of different modules is coded and unit

•𝛼 − 𝑇𝑒𝑠𝑡𝑖𝑛𝑔
tested.

•𝛽 − 𝑇𝑒𝑠𝑡𝑖𝑛𝑔
Maintenance:
• Maintenance of a typical software
products requires much more than
the effort necessary to develope the
product itself.
Iterative Waterfall life cycle model:
• The main changes is done by
providing feedback paths from
every phase to its preceding
phase.
Prototype Model:
• Prototyping
Model is a
software
development
model which
prototype
in is
tested, bui
reworked until lt,
acceptabl an an
e id
prototype s
achieved.
Advantages:
• Clarity.
• Risk Identification.
• Good Environment.
• Take less time to
complete.
Disadvantages:
• High cost.
• Slow process.
• Too many changes.
RAD Model:
• Rapid Application Development(RAD)
is an incremental software model
that a short development cycle.
• The RAD model is a “high-speed”
of the waterfall model.
• The RAD process enables a
development team to create a fully
functional system within a very
short time period.
Contents of RAD Pakages:
• Graphical user development
environment.
• Reusable Components.
• Code generator.
• Programming Language.
Advantages:
• Fast products.
• Efficient Documentation.
• Interaction with user.
Disadvantages:
• User may not like fast activities.
• Not suitable for technical risks.
Sprial Model :
• This Spiral model is a combination
of iterative development process
model and sequential linear
development model i.e. the
waterfall model with a very high
emphasis on risk analysis.
• The spiral model has four
phases: Planning, Design,
Construct and Evaluation.
Quadrants in sprial model :
Advantages :
• Risk Identification at early
stage.
• Suitable for high rk projects.
• Flexibility for adding
functionaility.
Disadvantages:
• Costly.
• Risk dependent.
• Not suitable for smaller
projects.
• Difficult to meeting budget.
Win-Win Sprial Model:
• The customer wins by getting the system
satisfying most of thier requirements and
developers winsby working on achievable
budgets and deadlines.
• Advantages:
• Lieghtweight methods suit small-medium size
project.
• Produces good team.
• Test based approach to requirements and
quality assurance
Diadvantages:
• Programming pairs is costly.
• Difficult to scale up to large projects
where documentation.
Fourth Generation Techniques:
• Introduction:
• The tools in automatically generate ource code based on the
developers
specification.
Software development environment that supports the 4GT paradigm
includes some or all of the following tools:
• 1) Non-procedural languages for database query
• 2) Report generation
• 3) Data manipulation
• 4) Screen interaction and definition
• 5) Code generation and High-level graphics capability
• 6) Spreadsheet capability
• 7) Automated generation of HTML and similar languages used for
Web-site creation using advanced software tools.
Advantages:
• Reduction in software development.
• Improved productivity of software
engineers.
• 4GT helped by CASE tools and
code generators.
Disadvantages: tha
• Some 4GT languages.
programming are not at all n
easier
• Generated source are
code inefficient. sometimes
• Time is reduced for only small and
medium projects.
Planning:
• Software planning process include steps
to estimate the size of the software work
products and the resources needed
produces a schedule identify and access
software risks.
• During planning a project is split into several
activities :
• How much efforts is required to
complete each activities?
• How much calender time is needed?
• How much will the completed activity
cost?
Planning Objectives:
•Understand the scope of the problem.
•Make use of past historical data.
•Estimate effort or function or size.
•Define a project schedule.
Characteristics of software project planning:
• Scope.
• Resource.
• Time.
• Quality.
• Risk.
Project Plan:
• The biggest single problem that
afflicts software developing is
that of underestimating
resources required for a project.
• According to the project
management body of
knowledge.
• According to PRINCE(PRojects
IN Controlled Environments).
Projec Plannin Projec
t g t Plan
Cluste Process
r
Types of Project
Plan:
• Software development plan.
• Quality Assurance Plan.
• Validation Plan.
• Configuration Management
Plan.
• Maintenance Plan.
• Staff development plan.
Structure of a software project
management plan:
Project
summary.
Major issues in planning a software project:

• Software requiremments are


frequently incorrect and
incomplete.
• Planning schedule and cost are
not updated and are based on
marketing needs, not system
requirements.
• Cost and schedule are not re-
estimated when requirements or
development environment change.
Software Project Scheduling:
• Introduction:
• Software project scheduling is
an distributes estimated effort
across the planned project.
• Project schedulinginvolves
seperating the total work involved in
a project in seperate activities and
judging the time required to
complete the activities.
Basic principles of software project
scheduling:

• Compartmentalization.
• Interdependency.
• Time Allocation.
• Effort Validation.
• Defined Responsibilities.
• Defined outcomes.
• Defined Milestones.
Relationship between people and effort:

• The PNR curve


provides an
indication of
the relationship
between effort
applied and
delivery time
for a software
project.
Effort Distribution:
• A recommended distribution of effort the
software process is often referred to as
the 40- 20-40 rule.
Defining a task set for the software project:
• A task set is a collection of software
engineering work tasks, milestones,
and work products that must be
acomplished to complete a particular
project.
• Concept Development projects.
• New application
development
projects.
• Application enhancement
Example of a task set:
• Concept Scoping: It determines the
overall scope of the project.
• Preliminary concept planning: It
establishes the organization ability to
undertake the work implied by the
project scope.
• Technology Risk Assessment: It evaluates
the risk associated with the
technology to be implemented as part
of project scope.
• Concept Implementation: It implement
the concept representation in a manner
that can be reviewed by a customer
• Customer Reaction: Customer reaction to
the concept feedback on a new
technology concept and target specific
customer applications.
Scheduling Techniques:
• Scheduling of a software project does not
differ greatly from scheduling of any
multitask engineering effort.
• Work Breakdown
Structure(WBS).
• Activity Charts.
• Project Evaluation
Review
Techniques(PERT).
• Grant Charts.
Work Breakdown Structure(WBS):
• A Work Breakdown Structure is a
hierarcical decomposition or
breakdown of a project or major
activity into successive
level
s. Project

Imple
Design ment Testin Testing
a g
tion

UI Modul Data
Data Desig Desig Sit
Design e
Desig n n e
Testin
n
g
Features of WBS:
• Structure.
• Description.
• Coding.
• Depth.
• Level of Detail.
Activity Charts : Representation of WBS:
• Network of boxes and arrows.
• Shows different tasks making up a
project.
• Represents the ordering among the
tasks.
Project Evaluation Review Technique(PERT):
• PERT chart is a project management
tool used to schedule, organize and
coordinate tasks within the project.
• PERT methonology developed by the
U.S. Navy in the 1950’s to manage
the polaris submarine program.
• PERT is an event-oriented technique
• PERT is a probabilistic model
• Grantt chart, PERT can be both a cost
and a time management system.
Grantt Chart:
A grantt chart is a
horizontal bar chart
developedas a
production control
tool named after
Henry L, Grantt an
american engineer
and social scientist
ferquently used in
project management.
Critical Path Method(CPM):
• CPM acts as the basic both for
perparation of a schedule and of
resource planning.
• The critical path determine the
total duration of the project.
• CPM is an activity-oriented technique
• CPM is a deterministic model
Risk Analysis & Management:
• Risk analysis and management are
a series of steps that help a
software team to understand and
manage uncertainty during the
development process..
• A risk is a potential problem.
• Managers, Software enginners
and customers participate in risk
analysis & management.
Software Risk:
• According to webster risk is the
possibility of suffering loss.
• Risk in a project or program is a
measure of the ability to achieve
objectives within cost, schedule and
constraints.
• Types of software risk:
Classification
I
Classification
Classification I
• Project Risks
• Technical Risks.
• Business Risks.
Classification II:
• Known Risks.
• Predictable Risks.
• Unperdictable
Risks.
Classification I:
• Project Risks: The projct schedule will
slip and that costs will
incnrease.Project risks identify
schedule, resource, customer and
requirements problem.
• Technical Risks:The product quality
and the timeliness of the schedule if
a technical risks is real then
implementation may become
difficult or implssible.
• If identify potential design,
Business Risks:
• Market Risk.
• Strategic Risk.
• Management Risk.
• Budget Risk.
Classification II:
• Known Risks: That can be uncovered
after careful evaluation of the
project plan.
•Predictable Risks:Predictable Risks
are extrapolated from past project
experience.
•Unperdictable Risks: Unperdictable
Risks are the joker in the desk, they
can extremely difficult to identify in
advance.
Risk Principles:
•Global Perspective.
•Forward looking view.
•Open communication.
•Integrated management.
•Continuous process.
•Shared product vision.
•Team work.
Risk Strategies:
• Reactive Risk Strategies.
• Proactive Risk Strategies.
Risks in software development projects:
• Poorly defined requirements.
• Client requirements changes.
• Poor techniques for cost estimation.
• Dependence on skills of
individual developers.
Risk Management Process:
• The risk management activities
includes identify, analysis, plan,
track and control risks.
• Risk Assessment.
• Risk Control.
Risk Assessment:
• Risk assessment is the
determination os qualitative value of
risk related to a concrete situation
and recognized the risk.
• Risk identification.
• Risk analysis.
• Risk Prioritization.
Risk Identification:
• Risk identification is a systematic
attempt to specify to the project
plan.
Risk Item Checklist:
• Product Size.
• Bussiness Impact.
• Customer Characteristics.
• Process definition.
Activities in risk identification phase:
• Identify Risks.
• Define Risk Attributes.
• Document.
• Communicate.
Risk Analysis:
• The risk identify all items are analysed
using different criterias.
• Activities in risk analysis:
• Group similar risks.
• Determine risk derivers.
• Determine sources of risks.
• Estimate risk.
Risk Prioritization:
• The project focus on its most server
risks by assessing the risk.
• Let (r) is the likehood of a risk
coming trace.
• (s) is the consequence of the
problem associated with that
risk.
• P=r*s.
Risk Control:
• Risk control is the process of
managing risks should outcomes.
• Risk Management Planning.
• Risk Resolution.
• Risk Monitoring.
Risk Management Planning:
• It is a plan for delaing with each
significant risk.
Strategies in risk management planning:
• Risk Avoidance.
• Risk monitoring.
• Risk management and
contingency planning.
Risk Resoution:
• Risk resolution is the execution of
the plan for dealing with each risk.
• The risk has triggered the project
manager need to execute the action
plan.
Outputs of risk resolution phase:
• Risk status.
• Acceptable risks.
• Reduced rework.
• Corrective actions.
• Problem prevention.
Risk Monitoring:
• Risk is the
monitoring
reassessing continually risks as
of
proceeds the change.
and conditions project
• RMMM Plan:
• Risk Mitigation , Monitoring
and management in the software
project plan or the risk
management steps are organized.
Requirement Engineering Process:
• Introduction:
• Requirement engineering is the
sub- discipline of software
engineeringthat
concerne with isdetermine
d the goal, and softwar
functions constraints of e
system.
Requirements:
• Requirements management is
a systematic approach to eliciting
organizing and documenting the
requirements of the systems.
Types of Requirements:
• System Requirements.
• User Requirements.
System Requirements:
• System requirements set out the
systems functions, services and
operational constraints in detail.
• It may be part of the constract
betwwen the system buyer and
the software developer.
Types of system requirements:
• Functional requirements.
• Non-functional Requirements.
• Domain Requirements.
Functional Requirements:
• The customer should provide statement of
service. It should be clear how the system should
react to particular inputs and how a particular
system.
Problem of Functional Requirements:
• User Intention.
• Developer Interpretation.
• Requirements completness and consistency:
Non-Functional Requirements:
• The system properties and
constraints various properties of
a system can be: realiability,
response tiime, storage
requirements.
Types of Non-Functional
Requirements:
• Product Requirements.
• Organizational Requirements.
• External Requirements.
Domain Requirements:
• Requirements can be application
domain of the system, reflecting,
characteristics of the domain.
Problem of Domain Requements:
• Understandability.
• Implicitness.
User Requirements:
• User requirements are defined using
natural language lables and
diagrams because these are the
representation that can be
• Client Managers.
• System End Users.
• Client Engineers.
• Contract Managers.
Problem of User Requirements:
• Lack of Clarity.
• Requirements Confusion.
• Requirements Mixture.
Software Requirement Specification:
• Software Requirements document
is the specification of the system.
• It is not a design document.
• Requirements document is called
SRS.
Users of SRS:
• Users, Customer and
marketing Personnel.
• Software Developers.
• Test Engineers.
• Project Managers.

You might also like