Software Processes Objectives Topics covered The software process Generic software process models
Stricklin, Chuck, Morning Host has reference to this Academic Journal, PHwiki organized this Journal Software Processes Objectives To introduce software process models To describe three generic process models in addition to when they may be used To describe outline process models as long as requirements engineering, software development, testing in addition to evolution To explain the Rational Unified Process model To introduce CASE technology to support software process activities Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering
This Particular University is Related to this Particular Journal
The software process A structured set of activities required to develop a software system Specification; Design; Validation; Evolution. A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective. Generic software process models The waterfall model Separate in addition to distinct phases of specification in addition to development. Evolutionary development Specification, development in addition to validation are interleaved. Component-based software engineering The system is assembled from existing components. There are many variants of these models e.g. as long as mal development where a waterfall-like process is used but the specification is a as long as mal specification that is refined through several stages to an implementable design. Waterfall model
Waterfall model phases Requirements analysis in addition to definition System in addition to software design Implementation in addition to unit testing Integration in addition to system testing Operation in addition to maintenance The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. One phase has to be complete be as long as e moving onto the next phase. Waterfall model problems Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements. There as long as e, this model is only appropriate when the requirements are well-understood in addition to changes will be fairly limited during the design process. Few business systems have stable requirements. The waterfall model is mostly used as long as large systems engineering projects where a system is developed at several sites. Evolutionary development Exploratory development Objective is to work with customers in addition to to evolve a final system from an initial outline specification. Should start with well-understood requirements in addition to add new features as proposed by the customer. Throw-away prototyping Objective is to underst in addition to the system requirements. Should start with poorly understood requirements to clarify what is really needed.
Evolutionary development Evolutionary development Problems Lack of process visibility; Systems are often poorly structured; Special skills (e.g. in languages as long as rapid prototyping) may be required. Applicability For small or medium-size interactive systems; For parts of large systems (e.g. the user interface); For short-lifetime systems. Component-based software engineering Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems. Process stages Component analysis; Requirements modification; System design with reuse; Development in addition to integration. This approach is becoming increasingly used as component st in addition to ards have emerged.
Reuse-oriented development Process iteration System requirements ALWAYS evolve in the course of a project so process iteration where earlier stages are reworked is always part of the process as long as large systems. Iteration can be applied to any of the generic process models. Two (related) approaches Incremental delivery; Spiral development. Incremental delivery Rather than deliver the system as a single delivery, the development in addition to delivery is broken down into increments with each increment delivering part of the required functionality. User requirements are prioritised in addition to the highest priority requirements are included in early increments. Once the development of an increment is started, the requirements are frozen though requirements as long as later increments can continue to evolve.
Incremental development Incremental development advantages Customer value can be delivered with each increment so system functionality is available earlier. Early increments act as a prototype to help elicit requirements as long as later increments. Lower risk of overall project failure. The highest priority system services tend to receive the most testing. Extreme programming An approach to development based on the development in addition to delivery of very small increments of functionality. Relies on constant code improvement, user involvement in the development team in addition to pairwise programming. Covered in Chapter 17
Spiral development Process is represented as a spiral rather than as a sequence of activities with backtracking. Each loop in the spiral represents a phase in the process. No fixed phases such as specification or design – loops in the spiral are chosen depending on what is required. Risks are explicitly assessed in addition to resolved throughout the process. Spiral model of the software process Spiral model sectors Objective setting Specific objectives as long as the phase are identified. Risk assessment in addition to reduction Risks are assessed in addition to activities put in place to reduce the key risks. Development in addition to validation A development model as long as the system is chosen which can be any of the generic models. Planning The project is reviewed in addition to the next phase of the spiral is planned.
Process activities Software specification Software design in addition to implementation Software validation Software evolution Software specification The process of establishing what services are required in addition to the constraints on the systems operation in addition to development. Requirements engineering process Feasibility study; Requirements elicitation in addition to analysis; Requirements specification; Requirements validation. The requirements engineering process
Software design in addition to implementation The process of converting the system specification into an executable system. Software design Design a software structure that realises the specification; Implementation Translate this structure into an executable program; The activities of design in addition to implementation are closely related in addition to may be inter-leaved. Design process activities Architectural design Abstract specification Interface design Component design Data structure design Algorithm design The software design process
Structured methods Systematic approaches to developing a software design. The design is usually documented as a set of graphical models. Possible models Object model; Sequence model; State transition model; Structural model; Data-flow model. Programming in addition to debugging Translating a design into a program in addition to removing errors from that program. Programming is a personal activity – there is no generic programming process. Programmers carry out some program testing to discover faults in the program in addition to remove these faults in the debugging process. The debugging process
Key points Software processes are the activities involved in producing in addition to evolving a software system. Software process models are abstract representations of these processes. General activities are specification, design in addition to implementation, validation in addition to evolution. Generic process models describe the organisation of software processes. Examples include the waterfall model, evolutionary development in addition to component-based software engineering. Iterative process models describe the software process as a cycle of activities. Key points Requirements engineering is the process of developing a software specification. Design in addition to implementation processes trans as long as m the specification to an executable program. Validation involves checking that the system meets to its specification in addition to user needs. Evolution is concerned with modifying the system after it is in use. The Rational Unified Process is a generic process model that separates activities from phases. CASE technology supports software process activities.
Stricklin, Chuck Morning Host
Stricklin, Chuck is from United States and they belong to On the Air – WDNG-AM and they are from Anniston, United States got related to this Particular Journal. and Stricklin, Chuck deal with the subjects like Local News; Regional Interest
Journal Ratings by King’s College London, University of London
This Particular Journal got reviewed and rated by King’s College London, University of London and short form of this particular Institution is GB and gave this Journal an Excellent Rating.