SlideShare ist ein Scribd-Unternehmen logo
1 von 54
1
Unit-1
Introduction to Software and
Software Engineering
2
Software’s Dual Role (Nature of Software)
• Software is a product
– Transforms information - produces, manages, acquires,
modifies, displays, or transmits information
– Delivers computing potential of hardware and networks
(WITHOUT S/W DIFFICULT TO OPERATE H/W)
• Software is a vehicle for delivering a product
– Controls other programs (operating system)
– Effects communications (networking software)
– Helps build other software (software tools &
environments)
3
Software Products
• Generic products:
– Stand-alone systems which are produced by a
development organization and sold on the open
market to any customer.(e.g. Microsoft Products)
• Customized products:
– Systems which are commissioned by a specific
customer and developed specially by some
contractor.(e.g. College Mgmt. S/W)
4
Software
Applications
5
(1) System Software:
• System software is a collection of programs written
to service other programs.
• It is characterized by heavy interaction with
computer hardware; heavy usage by multiple users;
concurrent operation that requires scheduling,
resource sharing, and sophisticated process
management; complex data structures; and multiple
external interfaces.
Ex. Compilers, operating system, drivers etc.
(2) Application Software :
• Application software consists of standalone
programs that solve a specific business need.
• Application software is used to control the
business function in real-time.
• E.g. :Medical Store Mgmt. System
6
(3) Engineering /Scientific software:
• Characterized by "number crunching" algorithms.
• Applications range from astronomy to volcano logy,
from automotive stress analysis to space shuttle
orbital dynamics, and from molecular biology to
automated manufacturing.
Ex. Computer Aided Design (CAD), system stimulation
etc.
7
(4) Embedded Software:
• It resides in read-only memory and is used to
control products and systems
• Embedded software can perform limited and
esoteric functions.
Ex. keypad control for a microwave oven or
timer
8
(5) Product line software:
• Designed to provide a specific capability for
use by many different customers, product line
software can focus on a limited and esoteric
marketplace.
Ex. Word processing, spreadsheet, CG,
multimedia, etc.
9
(6) Web Applications:
• Web apps can be little more than a set of
linked hypertext files.
• It evolving into sophisticated computing
environments that not only provide
standalone features, functions but also
integrated with corporate database and
business applications.
10
(7) Artificial Intelligence software:
• AI software makes use of numerical & non-
numerical algorithms to solve complex
problems those are not amenable(easily
controlled) to computation or straightforward
analysis.
Ex. Robotics, expert system, game playing, etc.
11
Characteristics of Software
1] Software is developed or engineered
2] Software doesn’t “wear out.”
3] Although the industry is moving toward
component-based construction, most
software continues to be custom built.
12
Manufacturing vs. Development
• Once a hardware product has been manufactured, it
is difficult or impossible to modify. In contrast,
software products are routinely modified and
upgraded.
• In hardware, hiring more people allows you to
accomplish more work, but the same does not
necessarily hold true in software engineering.
• Unlike hardware, software costs are concentrated in
design rather than production.(Once demo is ready
then can produce multiple copy)
13
Wear vs.
Deterioration
Failure curve for Hardware
14
Earlier Failure
rate in its life
Earlier Failure
rate in its life
Affection from Dust,
Abuse, Temperature,
Environment etc
Affection from Dust,
Abuse, Temperature,
Environment etc
Wear vs. Deterioration
Software deteriorate over time
15
Component Based vs. Custom Built
• Hardware products typically employ many
standardized design components.
• Most software continues to be custom built.
• The software industry does seem to be moving
(slowly) toward component-based construction.
16
Hardware vs. Software
Hardware Software
 Manufactured
 Wears out
 Built using
components
 Relatively simple
Developed /
Engineered
 Deteriorates
 Custom built
 Complex
17
S/W Engineering
• Software Engineering is the science and art of
building significant software systems that are:
–1) on time
–2) on budget
–3) with acceptable performance
–4) with correct operation.
18
S/W Engineering
19
– A discipline whose aim is the production of
quality software, delivered on time, within
budget, and satisfying users' needs
– The specification, development,
management, and evolution of software
systems
– Designing and developing high-quality
software
S/W Engineering
• The economies of all developed nations are
dependent on software.
• More and more systems are software
controlled.
• Software engineering is concerned with
theories, methods and tools for professional
software development.
20
Software Myths
Definition: Beliefs about software and the process
used to build it.
Myths have number of attributes that have made them
insidious (i.e. dangerous).
• Misleading Attitudes - caused serious problem for
managers and technical people.
Management myths
Managers in most disciplines, are often under pressure to
maintain budgets, keep schedules on time, and improve
quality.
Myth1: We already have a book that's full of standards
and procedures for building software, it does provide my
people with everything they need to know.
Reality :
• Are software practitioners aware of existence standards?
• Does it reflect modern software engineering practice?
• Is it complete? Is it streamlined to improve time to
delivery while still maintaining a focus on quality?
•In many cases, the answer to all of these questions is "no."
Customer Myths
• Myth: A general statement of objectives is sufficient to begin writing
programs— we can fill in the details later.
(E.g. only def. is der clg mgmt sys.)
• Reality: A poor up-front definition is the major cause of failed software
efforts.
• A formal and detailed description of the information domain, function,
behavior, performance, interfaces,
design constraints, and validation criteria is essential.
characteristics can be determined only after thorough communication
between customer and developer.
• Myth: Project requirements continually change, but
change can be easily accommodated because software is
flexible. (E.g. Wipro-IPCA exp.)
• Reality: It is true that software requirements change, but
the impact of change varies with the time at which it is
introduced.
• If serious attention is given to up-front definition, early
requests for change can be accommodated easily with
relatively little impact on cost.
When changes are requested during software design, during
implementation (code and test) the cost impact grows
rapidly.
Software Myths
• Myth: If we get behind schedule, we can add more programmers
and catch up (sometimes called the Mongolian horde concept).
• Reality Software development is not a mechanistic process like
manufacturing.
• In the words: "adding people to a late software project makes it
later." At first, this statement may seem counterintuitive.
• However, as new people are added, people who were working
must spend time educating the newcomers, thereby reducing the
amount of time spent on productive development effort.
• People can be added but only in a planned and well- coordinated
manner.
Software Myths
• Once we write a working program, we’re done.
• Until I get the program running, I have no way of
assessing its quality.
• The only deliverable work product for a successful
project is the working program.
• Software engineering will make us create too much
documentation and will slow us down.
26
Practitioner's myths
• Myth: Once we write the program and get it to
work, our job is done.
• Reality: Expert said "the sooner you begin
'writing code', the longer it'll take you to get
done."
• Industry data indicate that between 60 and 80
percent of all effort expended on software will be
expended after it is delivered to the customer for
the first time.
• Myth: Until I get the program "running" I
have no way of assessing its quality.
• Reality: One of the most effective software
quality assurance mechanisms can be
applied from the inception of a project—
the formal technical review.
• Software reviews are a "quality filter" that
have been found to be more effective than
testing for finding certain classes of
software defects.
• Myth: The only deliverable work product
for a successful project is the working
program.
• Reality: A working program is only one
part of a software configuration that
includes many elements.
• Documentation provides a foundation
for successful engineering and, more
important, guidance for software
support.
• Myth: Software engineering will make us
create voluminous and unnecessary
documentation and will invariably slow us
down.
• Reality: Software engineering is not about
creating documents. It is about creating
quality
• Better quality leads to reduced rework. And
reduced rework results in faster delivery
times.
The Software Process
• What? A software process – as a framework for the
tasks that are required to build high-quality software.
• Who does? Managers, software engineers, and customers.
• Why? Provides stability, control, and organization
otherwise chaotic(disorder) activity.
• Steps? General activities are common to all software
processes, details vary.
• Work product? Programs, documents, and data.
What is software Engg.?
• Definition :
– (1) The application of systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of
software; that is, the application of engineering to software.
– (2) The study of approaches as in (1) above
• Its a discipline that is concerned with all aspects of software production.
• Software engineers should adopt
– Systematic and organized approach to their work
– Use appropriate tools and techniques depending on the problem
to be solved
– The development constraints and the resources available
• Apply Engineering Concepts to developing Software
• Challenge for Software Engineers is to produce high quality software with
finite amount of resources & within a predicted schedule
Software Engineering – Layered
Technology
Layered Technology
A quality focus: theA quality focus: the “bedrock“bedrock””
Process model: theProcess model: the “framework”“framework”
Methods: technicalMethods: technical “how to’s”“how to’s”
Tools: CASE preferredTools: CASE preferred
Layered Technology
A quality Focus
• Every organization is rest on its commitment to quality.
• Total quality management, Six Sigma, or similar continuous
improvement culture and it is this culture ultimately leads to development
of increasingly more effective approaches to software engineering.
• The bedrock(foundation) that supports software engineering is a quality
focus.
Process:
• It’s a foundation layer for software engineering.
• It’s define framework for a set of key process areas (KPA) for effectively
manage and deliver quality software in a cost effective manner
• The processes define the tasks to be performed and the order in which
they are to be performed
• Provides the glue that holds the layers together;
Layered Technology
Methods:
• It provide the technical how-to's for building software.
• Methods encompass a broad array of tasks that include requirements analysis,
design, program construction, testing, and support.
• There could be more than one technique to perform a task and different
techniques could be used in different situations.
Tools:
• Provide automated or semi-automated support for the process, methods and
quality control.
• When tools are integrated so that information created by one tool can be used
by another, a system for the support of software development, called
computer-aided software engineering (CASE)
Generic Process Framework
• A process framework establishes the
foundation for a complete software process
by identifying a small number of framework
activities.
• Frame work activities are applicable to all
software projects.
Generic Process Model
 A generic process framework for software engineering
defines five framework activities-communication,
planning, modeling, construction, and deployment.
 In addition, a set of umbrella activities- project tracking
and control, risk management, quality assurance,
configuration management, technical reviews, and others
are applied throughout the process.
 Next question is: how the framework activities and the
actions and tasks that occur within each activity are
organized with respect to sequence and time?
Process framework
Why process :
A process defines who is doing what, when and how to
reach a certain goal to build complete software process.
• Identified a small number of framework activities that are
applicable to all software projects, regardless of their size
or complexity.
• It encompasses a set of umbrella activities that are
applicable across the entire software process.
Process Framework
•Each framework
activities is populated
by a set for software
engineering actions – a
collection of related
tasks.
• Each action has
individual work task.
Generic Process Framework
Activities
• Communication:
– Heavy communication with customers, stakeholders, team
– Encompasses requirements gathering and related activities
• Planning:
– Workflow that is to follow
– Describe technical task, likely risk, resources will require,
work products to be produced and a work schedule.
• Modeling:
– Help developer and customer to understand requirements
(Analysis of requirements) & Design of software
• Construction:
– Code generation: either manual or automated or both
– Testing – to uncover error in the code.
• Deployment:
– Delivery to the customer for evaluation
– Customer provide feedback
Umbrella Activities
• Software project Management or tracking and control
– Assessing progress against the project plan.
– Take adequate action(Sufficient) to maintain schedule.
• Formal technical reviews
– Assessing software work products in an effort to uncover and remove
errors before goes into next action or activity.
• Software quality assurance
– Define and conducts the activities required to ensure software quality.
• Software configuration management
– Manages the effects of change.
• Document preparation and production
– Help to create work products such as models, documents, logs, form and list.
• Reusability management
– Define criteria for work product reuse
– Mechanisms to achieve reusable components.
• Measurement
– Define and collects process, project, and product measures
– Assist the team in delivering software that meets customer’s needs.
• Risk management
– Assesses risks that may effect that outcome of project or quality of product (i.e.
software)
Capability Maturity Model
Integration (CMMI)
• The Software Engineering Institute (SEI) has developed
process meta-model to measure organization different level
of process capability and maturity.
• CMMI – developed by SEI
• The CMMI defines each process area in terms of “specific
goals” and the “specific practices” required to achieve these
goals.
• Specific goals establish the characteristics that must exist
if the activities implied by a process area are to be
effective.
• Specific practices refine a goal into a set of process-
related activities.
CMMI Level
Level 1: Initial. The software process is characterized as
ad hoc and occasionally even chaotic.
Few processes are defined, and success depends on individual effort.
Level 2: Repeatable. Basic project management processes
are established to track cost, schedule, and functionality.
The necessary process discipline is in place to repeat earlier successes on
projects with similar applications.
CMMI Level (cont.)
Level 3: Defined.
 The software process for both management and engineering activities is documented,
standardized, and integrated into an organization wide software process.
 All projects use a documented and approved version of the organization's process
for developing and supporting software.
 This level includes all characteristics defined for level 2.
Level 4 (Quantitatively Managed) -
– All level 3 criteria have been satisfied.
– Software process and products are quantitatively understood
– Controlled using detailed measures and assessment.
Level 5 (Optimized)
– This level includes all characteristics defined for level 4.
– Continuous process improvement is enabled by quantitative feedback from the
process and testing innovative ideas & technology
HemalKumar Rajyaguru
• The process model can be defined as the abstract representation of
process.
• Process models prescribe a distinct set of activities, actions,
tasks, milestones, and work products required to engineer high
quality software.
• Process models are not perfect, but provide roadmap for
software engineering work.
• Software models provide stability, control, and organization to a
process that if not managed can easily get out of control
• Software process models are adapted to meet the needs of software
engineers and managers for a specific project.
Software process model /
SDLC
HemalKumar Rajyaguru
Waterfall Model or Classic Life
Cycle(CPMCD)
• Requirement Analysis and Definition: The systems services, constraints and goals
are defined by customers with system users.
• Scheduling tracking -
– Assessing progress against the project plan.
– Require action to maintain schedule.
• System and Software Design: How –It establishes and overall system architecture.
Software design involves fundamental system abstractions and their relationships.
• Integration and system testing: The individual program unit or programs are
integrated and tested as a complete system to ensure that the software requirements have been
met. After testing, the software system is delivered to the customer.
• Operation and Maintenance: Normally this is the longest phase of the software life
cycle. The system is installed and put into practical use. Maintenance involves correcting errors
which were not discovered in earlier stages of the life-cycle.
Waterfall Model or Classic Life
Cycle
Limitations of the waterfall model
 The nature of the requirements will not change very much During
development; during evolution
 The model implies that you should attempt to complete a given stage before
moving on to the next stage
 Does not account for the fact that requirements constantly change.
 It also means that customers can not use anything until the entire system
is complete.
 The model implies that once the product is finished, everything else is
maintenance.
 Surprises at the end are very expensive
 Some teams sit ideal for other teams to finish
 Therefore, this model is only appropriate when the requirements are well-
understood and changes will be fairly limited during the design process.
• Problems:
1. Real projects are rarely follow the sequential
model.
2. Difficult for the customer to state all the
requirement in advance.
3. Assumes patience from customer - working
version of program will not available until
programs not getting change fully.
Problem
Waterfall Model with Feedback
(Diagram)
Communication
Project initiation
Requirements
gathering
Planning
Estimating
Scheduling
Tracking Modeling
Analysis
Design Construction
Code
Test Deployment
Delivery
Support
Feedback
Incremental Process Model
C- Communication
P - Planning
M – Modeling
C - Construction
D - Deployment
Delivers software in small but usable pieces,
each piece builds on pieces already delivered
• Rather than deliver the system as a single delivery, the
development and delivery is broken down into increments with
each increment delivering part of the required functionality.
• First Increment is often core product
– Includes basic requirement
– Many supplementary features (known & unknown) remain
undelivered
• A plan of next increment is prepared
– Modifications of the first increment
– Additional features of the first increment
• It is particularly useful when enough staffing is not available
for the whole project
• Increment can be planned to manage technical risks.
• Incremental model focus more on delivery of operation
product with each increment.
The Incremental Model
• User requirements are prioritised and the highest priority
requirements are included in early increments.
• Once the development of an increment is started, the requirements are
frozen though requirements for later increments can continue to
evolve.
• Customer value can be delivered with each increment so system
functionality is available earlier.
• Early increments act as a prototype to help obtain requirements for later
increments.
• Lower risk of overall project failure.
• The highest priority system services tend to receive the most
testing.
The Incremental Model

Weitere ähnliche Inhalte

Was ist angesagt?

Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLCAdeel Rasheed
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 
Software evolution and maintenance
Software evolution and maintenanceSoftware evolution and maintenance
Software evolution and maintenanceFeliciano Colella
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimationinayat khan
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Ankit Prajapati
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringAchmad Solichin
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMInimmik4u
 
Ch 1 the software quality assurance challange
Ch 1 the software quality assurance challangeCh 1 the software quality assurance challange
Ch 1 the software quality assurance challangeKittitouch Suteeca
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 
Software estimation
Software estimationSoftware estimation
Software estimationMd Shakir
 

Was ist angesagt? (20)

Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Software evolution and maintenance
Software evolution and maintenanceSoftware evolution and maintenance
Software evolution and maintenance
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimation
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
Unit1
Unit1Unit1
Unit1
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
 
software engineering
software engineeringsoftware engineering
software engineering
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
 
Ch 1 the software quality assurance challange
Ch 1 the software quality assurance challangeCh 1 the software quality assurance challange
Ch 1 the software quality assurance challange
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2
 
Software estimation
Software estimationSoftware estimation
Software estimation
 

Ähnlich wie Intoduction to software engineering part 1

Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
Unit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptxUnit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptxtaxegap762
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii yearPreeti Mishra
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii yearPreeti Mishra
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVYamunaP6
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...GaytriMate
 
Chapter 01
Chapter 01Chapter 01
Chapter 01ryan aja
 
Software Engineering pdf
Software Engineering pdfSoftware Engineering pdf
Software Engineering pdfKieveBarreto1
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxnohaaalrajhi
 
Introduction to Software Engineering.ppt
Introduction to Software Engineering.pptIntroduction to Software Engineering.ppt
Introduction to Software Engineering.pptBambangWahono3
 

Ähnlich wie Intoduction to software engineering part 1 (20)

Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
SE
SESE
SE
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
Unit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptxUnit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptx
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IV
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Software Engineering pdf
Software Engineering pdfSoftware Engineering pdf
Software Engineering pdf
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptx
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Introduction to Software Engineering.ppt
Introduction to Software Engineering.pptIntroduction to Software Engineering.ppt
Introduction to Software Engineering.ppt
 

Mehr von Rupesh Vaishnav

Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineeringRupesh Vaishnav
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Software coding & testing, software engineering
Software coding & testing, software engineeringSoftware coding & testing, software engineering
Software coding & testing, software engineeringRupesh Vaishnav
 
Software as a service, software engineering
Software as a service, software engineeringSoftware as a service, software engineering
Software as a service, software engineeringRupesh Vaishnav
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRupesh Vaishnav
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineeringRupesh Vaishnav
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineeringRupesh Vaishnav
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 

Mehr von Rupesh Vaishnav (8)

Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Software coding & testing, software engineering
Software coding & testing, software engineeringSoftware coding & testing, software engineering
Software coding & testing, software engineering
 
Software as a service, software engineering
Software as a service, software engineeringSoftware as a service, software engineering
Software as a service, software engineering
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 

Kürzlich hochgeladen

Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersMairaAshraf6
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilVinayVitekari
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network DevicesChandrakantDivate1
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxchumtiyababu
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadhamedmustafa094
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxNadaHaitham1
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwaitjaanualu31
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxMuhammadAsimMuhammad6
 

Kürzlich hochgeladen (20)

Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 

Intoduction to software engineering part 1

  • 1. 1
  • 2. Unit-1 Introduction to Software and Software Engineering 2
  • 3. Software’s Dual Role (Nature of Software) • Software is a product – Transforms information - produces, manages, acquires, modifies, displays, or transmits information – Delivers computing potential of hardware and networks (WITHOUT S/W DIFFICULT TO OPERATE H/W) • Software is a vehicle for delivering a product – Controls other programs (operating system) – Effects communications (networking software) – Helps build other software (software tools & environments) 3
  • 4. Software Products • Generic products: – Stand-alone systems which are produced by a development organization and sold on the open market to any customer.(e.g. Microsoft Products) • Customized products: – Systems which are commissioned by a specific customer and developed specially by some contractor.(e.g. College Mgmt. S/W) 4
  • 5. Software Applications 5 (1) System Software: • System software is a collection of programs written to service other programs. • It is characterized by heavy interaction with computer hardware; heavy usage by multiple users; concurrent operation that requires scheduling, resource sharing, and sophisticated process management; complex data structures; and multiple external interfaces. Ex. Compilers, operating system, drivers etc.
  • 6. (2) Application Software : • Application software consists of standalone programs that solve a specific business need. • Application software is used to control the business function in real-time. • E.g. :Medical Store Mgmt. System 6
  • 7. (3) Engineering /Scientific software: • Characterized by "number crunching" algorithms. • Applications range from astronomy to volcano logy, from automotive stress analysis to space shuttle orbital dynamics, and from molecular biology to automated manufacturing. Ex. Computer Aided Design (CAD), system stimulation etc. 7
  • 8. (4) Embedded Software: • It resides in read-only memory and is used to control products and systems • Embedded software can perform limited and esoteric functions. Ex. keypad control for a microwave oven or timer 8
  • 9. (5) Product line software: • Designed to provide a specific capability for use by many different customers, product line software can focus on a limited and esoteric marketplace. Ex. Word processing, spreadsheet, CG, multimedia, etc. 9
  • 10. (6) Web Applications: • Web apps can be little more than a set of linked hypertext files. • It evolving into sophisticated computing environments that not only provide standalone features, functions but also integrated with corporate database and business applications. 10
  • 11. (7) Artificial Intelligence software: • AI software makes use of numerical & non- numerical algorithms to solve complex problems those are not amenable(easily controlled) to computation or straightforward analysis. Ex. Robotics, expert system, game playing, etc. 11
  • 12. Characteristics of Software 1] Software is developed or engineered 2] Software doesn’t “wear out.” 3] Although the industry is moving toward component-based construction, most software continues to be custom built. 12
  • 13. Manufacturing vs. Development • Once a hardware product has been manufactured, it is difficult or impossible to modify. In contrast, software products are routinely modified and upgraded. • In hardware, hiring more people allows you to accomplish more work, but the same does not necessarily hold true in software engineering. • Unlike hardware, software costs are concentrated in design rather than production.(Once demo is ready then can produce multiple copy) 13
  • 14. Wear vs. Deterioration Failure curve for Hardware 14 Earlier Failure rate in its life Earlier Failure rate in its life Affection from Dust, Abuse, Temperature, Environment etc Affection from Dust, Abuse, Temperature, Environment etc
  • 15. Wear vs. Deterioration Software deteriorate over time 15
  • 16. Component Based vs. Custom Built • Hardware products typically employ many standardized design components. • Most software continues to be custom built. • The software industry does seem to be moving (slowly) toward component-based construction. 16
  • 17. Hardware vs. Software Hardware Software  Manufactured  Wears out  Built using components  Relatively simple Developed / Engineered  Deteriorates  Custom built  Complex 17
  • 18. S/W Engineering • Software Engineering is the science and art of building significant software systems that are: –1) on time –2) on budget –3) with acceptable performance –4) with correct operation. 18
  • 19. S/W Engineering 19 – A discipline whose aim is the production of quality software, delivered on time, within budget, and satisfying users' needs – The specification, development, management, and evolution of software systems – Designing and developing high-quality software
  • 20. S/W Engineering • The economies of all developed nations are dependent on software. • More and more systems are software controlled. • Software engineering is concerned with theories, methods and tools for professional software development. 20
  • 21. Software Myths Definition: Beliefs about software and the process used to build it. Myths have number of attributes that have made them insidious (i.e. dangerous). • Misleading Attitudes - caused serious problem for managers and technical people.
  • 22. Management myths Managers in most disciplines, are often under pressure to maintain budgets, keep schedules on time, and improve quality. Myth1: We already have a book that's full of standards and procedures for building software, it does provide my people with everything they need to know. Reality : • Are software practitioners aware of existence standards? • Does it reflect modern software engineering practice? • Is it complete? Is it streamlined to improve time to delivery while still maintaining a focus on quality? •In many cases, the answer to all of these questions is "no."
  • 23. Customer Myths • Myth: A general statement of objectives is sufficient to begin writing programs— we can fill in the details later. (E.g. only def. is der clg mgmt sys.) • Reality: A poor up-front definition is the major cause of failed software efforts. • A formal and detailed description of the information domain, function, behavior, performance, interfaces, design constraints, and validation criteria is essential. characteristics can be determined only after thorough communication between customer and developer.
  • 24. • Myth: Project requirements continually change, but change can be easily accommodated because software is flexible. (E.g. Wipro-IPCA exp.) • Reality: It is true that software requirements change, but the impact of change varies with the time at which it is introduced. • If serious attention is given to up-front definition, early requests for change can be accommodated easily with relatively little impact on cost. When changes are requested during software design, during implementation (code and test) the cost impact grows rapidly.
  • 25. Software Myths • Myth: If we get behind schedule, we can add more programmers and catch up (sometimes called the Mongolian horde concept). • Reality Software development is not a mechanistic process like manufacturing. • In the words: "adding people to a late software project makes it later." At first, this statement may seem counterintuitive. • However, as new people are added, people who were working must spend time educating the newcomers, thereby reducing the amount of time spent on productive development effort. • People can be added but only in a planned and well- coordinated manner.
  • 26. Software Myths • Once we write a working program, we’re done. • Until I get the program running, I have no way of assessing its quality. • The only deliverable work product for a successful project is the working program. • Software engineering will make us create too much documentation and will slow us down. 26
  • 27. Practitioner's myths • Myth: Once we write the program and get it to work, our job is done. • Reality: Expert said "the sooner you begin 'writing code', the longer it'll take you to get done." • Industry data indicate that between 60 and 80 percent of all effort expended on software will be expended after it is delivered to the customer for the first time.
  • 28. • Myth: Until I get the program "running" I have no way of assessing its quality. • Reality: One of the most effective software quality assurance mechanisms can be applied from the inception of a project— the formal technical review. • Software reviews are a "quality filter" that have been found to be more effective than testing for finding certain classes of software defects.
  • 29. • Myth: The only deliverable work product for a successful project is the working program. • Reality: A working program is only one part of a software configuration that includes many elements. • Documentation provides a foundation for successful engineering and, more important, guidance for software support.
  • 30. • Myth: Software engineering will make us create voluminous and unnecessary documentation and will invariably slow us down. • Reality: Software engineering is not about creating documents. It is about creating quality • Better quality leads to reduced rework. And reduced rework results in faster delivery times.
  • 31. The Software Process • What? A software process – as a framework for the tasks that are required to build high-quality software. • Who does? Managers, software engineers, and customers. • Why? Provides stability, control, and organization otherwise chaotic(disorder) activity. • Steps? General activities are common to all software processes, details vary. • Work product? Programs, documents, and data.
  • 32. What is software Engg.? • Definition : – (1) The application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. – (2) The study of approaches as in (1) above • Its a discipline that is concerned with all aspects of software production. • Software engineers should adopt – Systematic and organized approach to their work – Use appropriate tools and techniques depending on the problem to be solved – The development constraints and the resources available • Apply Engineering Concepts to developing Software • Challenge for Software Engineers is to produce high quality software with finite amount of resources & within a predicted schedule
  • 33. Software Engineering – Layered Technology Layered Technology A quality focus: theA quality focus: the “bedrock“bedrock”” Process model: theProcess model: the “framework”“framework” Methods: technicalMethods: technical “how to’s”“how to’s” Tools: CASE preferredTools: CASE preferred
  • 34. Layered Technology A quality Focus • Every organization is rest on its commitment to quality. • Total quality management, Six Sigma, or similar continuous improvement culture and it is this culture ultimately leads to development of increasingly more effective approaches to software engineering. • The bedrock(foundation) that supports software engineering is a quality focus. Process: • It’s a foundation layer for software engineering. • It’s define framework for a set of key process areas (KPA) for effectively manage and deliver quality software in a cost effective manner • The processes define the tasks to be performed and the order in which they are to be performed • Provides the glue that holds the layers together;
  • 35. Layered Technology Methods: • It provide the technical how-to's for building software. • Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing, and support. • There could be more than one technique to perform a task and different techniques could be used in different situations. Tools: • Provide automated or semi-automated support for the process, methods and quality control. • When tools are integrated so that information created by one tool can be used by another, a system for the support of software development, called computer-aided software engineering (CASE)
  • 36. Generic Process Framework • A process framework establishes the foundation for a complete software process by identifying a small number of framework activities. • Frame work activities are applicable to all software projects.
  • 37. Generic Process Model  A generic process framework for software engineering defines five framework activities-communication, planning, modeling, construction, and deployment.  In addition, a set of umbrella activities- project tracking and control, risk management, quality assurance, configuration management, technical reviews, and others are applied throughout the process.  Next question is: how the framework activities and the actions and tasks that occur within each activity are organized with respect to sequence and time?
  • 38. Process framework Why process : A process defines who is doing what, when and how to reach a certain goal to build complete software process. • Identified a small number of framework activities that are applicable to all software projects, regardless of their size or complexity. • It encompasses a set of umbrella activities that are applicable across the entire software process.
  • 39. Process Framework •Each framework activities is populated by a set for software engineering actions – a collection of related tasks. • Each action has individual work task.
  • 40. Generic Process Framework Activities • Communication: – Heavy communication with customers, stakeholders, team – Encompasses requirements gathering and related activities • Planning: – Workflow that is to follow – Describe technical task, likely risk, resources will require, work products to be produced and a work schedule. • Modeling: – Help developer and customer to understand requirements (Analysis of requirements) & Design of software • Construction: – Code generation: either manual or automated or both – Testing – to uncover error in the code. • Deployment: – Delivery to the customer for evaluation – Customer provide feedback
  • 41. Umbrella Activities • Software project Management or tracking and control – Assessing progress against the project plan. – Take adequate action(Sufficient) to maintain schedule. • Formal technical reviews – Assessing software work products in an effort to uncover and remove errors before goes into next action or activity. • Software quality assurance – Define and conducts the activities required to ensure software quality. • Software configuration management – Manages the effects of change. • Document preparation and production – Help to create work products such as models, documents, logs, form and list. • Reusability management – Define criteria for work product reuse – Mechanisms to achieve reusable components. • Measurement – Define and collects process, project, and product measures – Assist the team in delivering software that meets customer’s needs. • Risk management – Assesses risks that may effect that outcome of project or quality of product (i.e. software)
  • 42. Capability Maturity Model Integration (CMMI) • The Software Engineering Institute (SEI) has developed process meta-model to measure organization different level of process capability and maturity. • CMMI – developed by SEI • The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals. • Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective. • Specific practices refine a goal into a set of process- related activities.
  • 43. CMMI Level Level 1: Initial. The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends on individual effort. Level 2: Repeatable. Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications.
  • 44. CMMI Level (cont.) Level 3: Defined.  The software process for both management and engineering activities is documented, standardized, and integrated into an organization wide software process.  All projects use a documented and approved version of the organization's process for developing and supporting software.  This level includes all characteristics defined for level 2. Level 4 (Quantitatively Managed) - – All level 3 criteria have been satisfied. – Software process and products are quantitatively understood – Controlled using detailed measures and assessment. Level 5 (Optimized) – This level includes all characteristics defined for level 4. – Continuous process improvement is enabled by quantitative feedback from the process and testing innovative ideas & technology
  • 46. • The process model can be defined as the abstract representation of process. • Process models prescribe a distinct set of activities, actions, tasks, milestones, and work products required to engineer high quality software. • Process models are not perfect, but provide roadmap for software engineering work. • Software models provide stability, control, and organization to a process that if not managed can easily get out of control • Software process models are adapted to meet the needs of software engineers and managers for a specific project. Software process model / SDLC
  • 47. HemalKumar Rajyaguru Waterfall Model or Classic Life Cycle(CPMCD)
  • 48. • Requirement Analysis and Definition: The systems services, constraints and goals are defined by customers with system users. • Scheduling tracking - – Assessing progress against the project plan. – Require action to maintain schedule. • System and Software Design: How –It establishes and overall system architecture. Software design involves fundamental system abstractions and their relationships. • Integration and system testing: The individual program unit or programs are integrated and tested as a complete system to ensure that the software requirements have been met. After testing, the software system is delivered to the customer. • Operation and Maintenance: Normally this is the longest phase of the software life cycle. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life-cycle. Waterfall Model or Classic Life Cycle
  • 49. Limitations of the waterfall model  The nature of the requirements will not change very much During development; during evolution  The model implies that you should attempt to complete a given stage before moving on to the next stage  Does not account for the fact that requirements constantly change.  It also means that customers can not use anything until the entire system is complete.  The model implies that once the product is finished, everything else is maintenance.  Surprises at the end are very expensive  Some teams sit ideal for other teams to finish  Therefore, this model is only appropriate when the requirements are well- understood and changes will be fairly limited during the design process.
  • 50. • Problems: 1. Real projects are rarely follow the sequential model. 2. Difficult for the customer to state all the requirement in advance. 3. Assumes patience from customer - working version of program will not available until programs not getting change fully. Problem
  • 51. Waterfall Model with Feedback (Diagram) Communication Project initiation Requirements gathering Planning Estimating Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback
  • 52. Incremental Process Model C- Communication P - Planning M – Modeling C - Construction D - Deployment Delivers software in small but usable pieces, each piece builds on pieces already delivered
  • 53. • Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality. • First Increment is often core product – Includes basic requirement – Many supplementary features (known & unknown) remain undelivered • A plan of next increment is prepared – Modifications of the first increment – Additional features of the first increment • It is particularly useful when enough staffing is not available for the whole project • Increment can be planned to manage technical risks. • Incremental model focus more on delivery of operation product with each increment. The Incremental Model
  • 54. • User requirements are prioritised and the highest priority requirements are included in early increments. • Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve. • Customer value can be delivered with each increment so system functionality is available earlier. • Early increments act as a prototype to help obtain requirements for later increments. • Lower risk of overall project failure. • The highest priority system services tend to receive the most testing. The Incremental Model

Hinweis der Redaktion

  1. Information transformer - function behavior Computing potential - non-functional behavior Example of functional behavior? Type characters into keyboard => word processor displays them on screen Input program file => compiler translates to byte code Example of non-functional behavior? Type character in instant messenger => appears on friend’s screen Compile large program within a few seconds Performance - time and space Vehicle for product delivery Examples of SW controllers (other than OS) Examples of communication SW Examples of development tools
  2. When a hardware component wears out, it is replaced by a spare part. There are no software spare parts. Every software failure indicates an error in design or in the process through which design was translated into machine executable code. Therefore, the software maintenance tasks that accommodate requests for change involve considerably more complexity than hardware maintenance.
  3. Provides the glue that holds the layers together; enables rational and timely development; provides a framework for effective delivery of technology; forms the basis for management; provides the context for technical methods, work products, milestones, quality measures, and change management
  4. Process Provides the glue that holds the layers together; enables rational and timely development; provides a framework for effective delivery of technology; forms the basis for management; provides the context for technical methods, work products, milestones, quality measures, and change management