SOFTWARE PROCESS MODELS SOFTWARE ENGINEERING A Layered Technology

  • Slides: 13
Download presentation
SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS

SOFTWARE ENGINEERING: A Layered Technology �Software engineering is the establishment and use of sound

SOFTWARE ENGINEERING: A Layered Technology �Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.

Layers of Software Engineering �The bedrock that supports software engineering is a quality focus.

Layers of Software Engineering �The bedrock that supports software engineering is a quality focus. �The foundation for software engineering is the process layer which is the glue that holds the technology layers together. �Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing and support. �Software engineering tools provide automated or semi -automated support for the process and the methods.

Software Process Models �To solve actual problems in an industry setting, a software engineer

Software Process Models �To solve actual problems in an industry setting, a software engineer or a team of engineers must incorporate a development strategy that encompasses the process, methods, and tools layers. Fig: The phases of a problem solving loop

Software Process Models �All software development can be characterized as a problem solving loop

Software Process Models �All software development can be characterized as a problem solving loop in which four distinct stages are encountered: �status quo, �problem definition, �technical development, and �solution integration.

Software Process Models q Status quo is the represents the current state of affairs

Software Process Models q Status quo is the represents the current state of affairs q Problem definition identifies the specific problem to be solved q Technical development solves the problem through the application of some technology, q Solution integration delivers the results (e. g. , documents, programs, data, new business function, new product) to those who requested the solution in the first place.

THE LINEAR SEQUENTIAL MODEL Sometimes called the classic life cycle or the waterfall model

THE LINEAR SEQUENTIAL MODEL Sometimes called the classic life cycle or the waterfall model The linear sequential model suggests a systematic, sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing and support.

THE LINEAR SEQUENTIAL MODEL Analysis Design Code Test

THE LINEAR SEQUENTIAL MODEL Analysis Design Code Test

THE LINEAR SEQUENTIAL MODEL 1. Analysis q The requirements gathering process is focused specifically

THE LINEAR SEQUENTIAL MODEL 1. Analysis q The requirements gathering process is focused specifically on software. q The software engineer ("analyst") must understand the information domain for the software, as well as required function, behavior, performance, and interface. q Requirements for both the system and the software documented and reviewed with the customer.

THE LINEAR SEQUENTIAL MODEL 2. Design �Software design is actually a multistep process that

THE LINEAR SEQUENTIAL MODEL 2. Design �Software design is actually a multistep process that focuses on four distinct attributes of a program: Ø data structure, Ø software architecture, Ø interface representations, and Ø procedural (algorithmic) detail. �The design is documented and becomes part of the software configuration.

THE LINEAR SEQUENTIAL MODEL 3. Code generation � The design must be translated into

THE LINEAR SEQUENTIAL MODEL 3. Code generation � The design must be translated into a machinereadable form. � If design is performed in a detailed manner�code generation can be accomplished.

THE LINEAR SEQUENTIAL MODEL 4. Testing �Once code has been generated, program testing begins.

THE LINEAR SEQUENTIAL MODEL 4. Testing �Once code has been generated, program testing begins. �The testing process focuses on – �the logical internals of the software: ensuring that all statements have been tested, and �the functional externals: conducting tests to uncover errors and ensure that defined input will produce actual results that agree with required results.

THE LINEAR SEQUENTIAL MODEL 5. Support �Software will undoubtedly change after it is delivered

THE LINEAR SEQUENTIAL MODEL 5. Support �Software will undoubtedly change after it is delivered to the customer �Change will occur because errors have been encountered �a change required because of a new operating system or �peripheral device � The customer requires functional or performance enhancements. �Software support/maintenance reapplies each of the preceding phases to an existing program rather than a new one.