Prof. Shinde B.B.
Unit-1
Software Development Process
Contents…
 Software
 Characteristics of Software
 Software Engineering
 Need for Software Engineering
 Types of Software
 Software Engineering: As Layered technology
approach
 Software Development Process
 Software Process framework
 Process models
Software
 Software is set of instruction, when executed perform certain
task as per user requirements.
 is a set of instructions or programs instructing a computer to
do specific tasks
 Software is also defines as ,”combination of
program(Computer program),documentation and operating
procedures.”
 Each software consist of some good attributes. These
attributes decide whether software is quality or not.
 Attributes likeFunctinality,integrity,maintainbility,
dependability, efficiency ,portability,realiability,usability
,robustness.
Characteristics of good software
 A software product can be judged by what it offers
and how well it can be used. This software must
satisfy on the following grounds:
 Operational-
Budget,Usability,Efficiency,Correctness,Functionality,
Dependability,Security,Safety
 Transitional-
Portability,Interoperability,Reusability,Adaptability
 Maintenance-Modularity,
Maintainability,Flexibility,Scalability
Main Characteristics of Software
 Software is developed or engineered : it is not
manufactured In the classical sense.
 Software dose not wear out.
 Most software is custom built, rather than being
assembled from existing components.
 Software engineering is the process of analyzing user
needs and designing, constructing, and testing end user
applications that will satisfy these needs through the
use of software programming languages.
 The application of asystematic,disciplined,quantifiable
approach to the development, operation and
maintenance of software; that is, the application
of engineering to software.
 It is the application of engineering principles
to software development.
Need of Software Engineering
 The need of software engineering arises because of higher rate
of change in user requirements and environment on which the
software is working.
 Large software - It is easier to build a wall than to a house or
building, likewise, as the size of software become large
engineering has to step to give it a scientific process.
 Scalability- If the software process were not based on scientific
and engineering concepts, it would be easier to re-create new
software than to scale an existing one.
 Cost- As hardware industry has shown its skills and huge
manufacturing has lower down he price of computer and
electronic hardware. But the cost of software remains high if
proper process is not adapted.
 Dynamic Nature- The always growing and adapting nature of
software hugely depends upon the environment in which user
works. If the nature of software is always changing, new
enhancements need to be done in the existing one. This is
where software engineering plays a good role.
Types of Software
 System Software
 Application Software
 Embedded software
 Real-time Software
 Product-line software
 Engineering/Scientific Software
 Web-based s/w
 Artificial Intelligence s/w
 The quality focus is basis of software engineering
.
 Process layer is foundation layer for software
engineering.
 Process defines a framework for a set of Key
Process Areas.
 A process framework is collection of software
development activities.
 In Software engineering methods provide the
technical knowledge for building software.it
consist of a broad collection of task such as
Communication, requirement analysis ,design
,coding ,testing and support.
 In Software engineering tools provide automated
Software Development
Framework
 computer programming, a software framework is
an abstraction in which software providing generic
functionality can be selectively changed by
additional user-written code, thus providing
application-specific software.
 A software framework provides a standard way to
build and deploy applications.
Process Frame Work
 A process framework establishes the foundation
for a complete software process.
 identifying a small number of framework activities
that are applicable to all software projects,
regardless of size or complexity.
 It also includes a set of umbrella activities that are
applicable across the entire software process.
 General Process Framework contains
Activity,Action,Task
A software Process Framework
Software process
Process framework
Umbrella activities
Framework activity #1
Software Engineering
action
 Each framework activity is populated by a set of
S/W eng. actions – a collection of related tasks
that produces a major S/W eng work product
(design is a S/W eng action).
 Each action is populated with individual work
tasks that accomplish some part of the work
Generic Process Activities
 Communication: involves heavy communication with
the customer (and other stakeholders) and
encompasses requirements gathering.
 Planning: Describes the technical tasks to be
conducted, the risks that are likely, resources that will
be required, the work products to be produced and a
work schedule.
 Modeling(Analyze and Design): encompasses the
creation of models that allow the developer and
customer to better understand S/W req. and the
design that will achieve those req.
 Construction: combines code generation and the
testing required uncovering errors in the code.
 Deployment: deliver the product to the customer who
evaluates the delivered product and provides
S/W eng is complemented by a
number of umbrella activities.
 S/W project tracking and control: allows the team to assess
progress against the project plan and take necessary action
to maintain schedule.
 Risk Management: Assesses the risks that may affect the
outcome of the project or the quality.
 Software quality assurance: defines and conducts the
activities required to ensure software quality.
 Formal Technical Review: uncover and remove errors
before they propagate to the next action.
 Measurement: defines and collects process, project, and
product measures that assist the team in delivering S/W that
meets customers’ needs.
 Software configuration management: Manages the effect
of change throughout the S/W process
 Reusability management: defines criteria for work product
reuse.
Process Model
 What is Process Model?

Software Specifications with details exp

  • 1.
  • 2.
    Contents…  Software  Characteristicsof Software  Software Engineering  Need for Software Engineering  Types of Software  Software Engineering: As Layered technology approach  Software Development Process  Software Process framework  Process models
  • 3.
    Software  Software isset of instruction, when executed perform certain task as per user requirements.  is a set of instructions or programs instructing a computer to do specific tasks  Software is also defines as ,”combination of program(Computer program),documentation and operating procedures.”  Each software consist of some good attributes. These attributes decide whether software is quality or not.  Attributes likeFunctinality,integrity,maintainbility, dependability, efficiency ,portability,realiability,usability ,robustness.
  • 4.
    Characteristics of goodsoftware  A software product can be judged by what it offers and how well it can be used. This software must satisfy on the following grounds:  Operational- Budget,Usability,Efficiency,Correctness,Functionality, Dependability,Security,Safety  Transitional- Portability,Interoperability,Reusability,Adaptability  Maintenance-Modularity, Maintainability,Flexibility,Scalability
  • 5.
    Main Characteristics ofSoftware  Software is developed or engineered : it is not manufactured In the classical sense.  Software dose not wear out.  Most software is custom built, rather than being assembled from existing components.
  • 6.
     Software engineeringis the process of analyzing user needs and designing, constructing, and testing end user applications that will satisfy these needs through the use of software programming languages.  The application of asystematic,disciplined,quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software.  It is the application of engineering principles to software development.
  • 7.
    Need of SoftwareEngineering  The need of software engineering arises because of higher rate of change in user requirements and environment on which the software is working.  Large software - It is easier to build a wall than to a house or building, likewise, as the size of software become large engineering has to step to give it a scientific process.  Scalability- If the software process were not based on scientific and engineering concepts, it would be easier to re-create new software than to scale an existing one.  Cost- As hardware industry has shown its skills and huge manufacturing has lower down he price of computer and electronic hardware. But the cost of software remains high if proper process is not adapted.  Dynamic Nature- The always growing and adapting nature of software hugely depends upon the environment in which user works. If the nature of software is always changing, new enhancements need to be done in the existing one. This is where software engineering plays a good role.
  • 8.
    Types of Software System Software  Application Software  Embedded software  Real-time Software  Product-line software  Engineering/Scientific Software  Web-based s/w  Artificial Intelligence s/w
  • 10.
     The qualityfocus is basis of software engineering .  Process layer is foundation layer for software engineering.  Process defines a framework for a set of Key Process Areas.  A process framework is collection of software development activities.  In Software engineering methods provide the technical knowledge for building software.it consist of a broad collection of task such as Communication, requirement analysis ,design ,coding ,testing and support.  In Software engineering tools provide automated
  • 11.
    Software Development Framework  computerprogramming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software.  A software framework provides a standard way to build and deploy applications.
  • 12.
    Process Frame Work A process framework establishes the foundation for a complete software process.  identifying a small number of framework activities that are applicable to all software projects, regardless of size or complexity.  It also includes a set of umbrella activities that are applicable across the entire software process.  General Process Framework contains Activity,Action,Task
  • 13.
  • 14.
    Software process Process framework Umbrellaactivities Framework activity #1 Software Engineering action  Each framework activity is populated by a set of S/W eng. actions – a collection of related tasks that produces a major S/W eng work product (design is a S/W eng action).  Each action is populated with individual work tasks that accomplish some part of the work
  • 15.
    Generic Process Activities Communication: involves heavy communication with the customer (and other stakeholders) and encompasses requirements gathering.  Planning: Describes the technical tasks to be conducted, the risks that are likely, resources that will be required, the work products to be produced and a work schedule.  Modeling(Analyze and Design): encompasses the creation of models that allow the developer and customer to better understand S/W req. and the design that will achieve those req.  Construction: combines code generation and the testing required uncovering errors in the code.  Deployment: deliver the product to the customer who evaluates the delivered product and provides
  • 16.
    S/W eng iscomplemented by a number of umbrella activities.  S/W project tracking and control: allows the team to assess progress against the project plan and take necessary action to maintain schedule.  Risk Management: Assesses the risks that may affect the outcome of the project or the quality.  Software quality assurance: defines and conducts the activities required to ensure software quality.  Formal Technical Review: uncover and remove errors before they propagate to the next action.  Measurement: defines and collects process, project, and product measures that assist the team in delivering S/W that meets customers’ needs.  Software configuration management: Manages the effect of change throughout the S/W process  Reusability management: defines criteria for work product reuse.
  • 17.
    Process Model  Whatis Process Model?