• No results found

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

N/A
N/A
Protected

Academic year: 2021

Share "Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

TCS2411 Software Engineering 1

Software Life Cycle

“What happens in the ‘life’ of software”

TCS2411 Software Engineering 2

Lecture Objectives

To look at the ‘life cycle’ of a software To understand the software process and

its related elements

To relate to the different software engineering paradigms TCS2411 Software Engineering 3

Software Engineering

Layers

a “quality” focus process model methods tools TCS2411 Software Engineering 4

Software Process

Activities in software projects

Characterised by a common process framework

Framework activities - task sets Umbrella activities

“Process maturity” enables development of quality software products

TCS2411 Software Engineering 5

Common Process

Framework

Common process framework Framework activities

work tasks work products

milestones & deliverables QA checkpoints

Umbrella Activities

TCS2411 Software Engineering 6

Umbrella Activities

Software project management Formal technical reviews Software quality assurance

Software configuration management Document preparation and production Reusability management

Measurement Risk management

(2)

TCS2411 Software Engineering 7

Process as Problem

Solving

status quo problem definition technical development solution integration TCS2411 Software Engineering 8

The Process Model:

Adaptability

the framework activities will always be applied on every project ... BUT the tasks (and degree of rigor) for

each activity will vary based on:

the type of project (an “entry point” to the model)

characteristics of the project

common sense judgment; concurrence of the project team

TCS2411 Software Engineering 9

The Primary Goal:

High Quality

Remember:

High quality = project timeliness Why?

Less rework!

TCS2411 Software Engineering 10

The Systematic Process

Problem Models Solution Analysis Design Development Testing

Generic Phases

Definition Phase

Focus on ‘what’ the software is

Development Phase

Focus on ‘how’ the software works

Maintenance Phase

Focus on ‘change’ to the software

Definition Phase

Identify information to be processed Identify system behaviour - functions and

performance

Determine constraints, interfaces, validation criteria

Major tasks:

System engineering Software project planning Requirements analysis

(3)

TCS2411 Software Engineering 13

Development Phase

Define data structures, function

implementation, procedural details, interfaces Translate design to programming language How testing is performed

Major tasks: Software design Code generation Software testing TCS2411 Software Engineering 14

Maintenance Phase

Reapplies definition and development phases to existing software

Types of changes: Correction Adaptation Enhancement Prevention TCS2411 Software Engineering 15

Waterfall Model

System Engineering Analysis Design Code Testing Maintenance TCS2411 Software Engineering 16

Waterfall Model

Characteristics

The classic life cycle - oldest and most widely used paradigm

Activities ‘flow’ from one phase to another If there are corrections, return to a

previous phase and ‘flow’ from there again Major advantages: Good for planning and

well-defined/repeated projects

TCS2411 Software Engineering 17

Problems of Waterfall

Model

Real projects often follow the sequence All requirements may not be stated

explicitly by customer

Customer only sees the results after some time

Developers are often delayed at certain phases TCS2411 Software Engineering 18

Prototyping Model

Stop Requirements gathering and refinement Building prototype Quick design Customer evaluation Refining prototype Engineer product Start listen to customer build/revise mock-up customer test-drives mock-up

(4)

TCS2411 Software Engineering 19

Prototyping Model

Characteristics

Developer and customer determine objectives and draft requirements

Prototype quickly produced and evaluated by customer

Prototype then refined, and re-evaluated Process iterated, before final product

development

Advantages: Customer participation and better requirements

TCS2411 Software Engineering 20

Problems of Prototyping

Model

Problem 1: Customer may see prototype as working model and expects fast results Problem 2: Developer compromised when

producing prototype quickly, e.g. different operating system or programming

language TCS2411 Software Engineering 21

Rapid Application

Development (RAD)

Business Modeling Data Modeling Process Modeling Application Generation Testing & Turnover Team #1 Business Modeling Data Modeling Process Modeling Application Generation Testing & Turnover Team #2 Time period TCS2411 Software Engineering 22

RAD Characteristics

“High-speed” version of waterfall model Primarily for information systems applications Requirements well-understood, fully functional

system produced in short time

The application modularised - major functions can be completed in 3 months

Separate teams complete the functions, then integrated as a whole

Requires human resource and commitment

Incremental Model

analysis design code test System/information

engineering

analysis design code test

analysis design code test

analysis design code test

increment 2 increment 3 increment 4 increment 1 delivery of 1st increment delivery of 2nd increment delivery of 3rd increment delivery of 4th increment calendar time

Incremental Model

Characteristics

Software separated into different

“increments” - complete working portions Focus on delivery of operational product

with each increment - can be evaluated Useful when insufficient staff and can be

planned to manage technical risks, e.g. waiting for new hardware

(5)

TCS2411 Software Engineering 25

Spiral Model

Customer Communication

Planning

Construction & Release Customer Evaluation Engineering Risk Analysis TCS2411 Software Engineering 26

Spiral Model

Characteristics

Originally proposed by Boehm, couples iterative nature of prototyping and the systematic aspects of waterfall model Software is developed in series of

incremental releases

Each iteration produces a more complete product

Better management through risk analysis

TCS2411 Software Engineering 27

Problems of Spiral

Model

May be difficult to convince customers that evolution is controllable

Demands risk assessment expertise -major risk will cause problems if not identified

Relatively new and not widely used -cannot determine performance

TCS2411 Software Engineering 28

Component Assembly

Model

Identify candidate components Look up components in library Available? Extract components Build components Construct System yes no TCS2411 Software Engineering 29

Component Assembly

Characteristics

Use of object-oriented technology Components - classes that encapsulate

both data and algorithms

Components developed to be reusable Paradigm similar to spiral model, but

engineering activity involves components System produced by assembling the

correct components TCS2411 Software Engineering 30

Fourth Generation

Techniques (4GT)

"Design" Strategy Testing Requirements gathering Implementation using 4GL

(6)

TCS2411 Software Engineering 31

4GT Characteristics

Use of software tools that allow software engineer to specify s/w characteristics at higher level

The tools generate codes based on specification

More time in design and testing - increase productivity

Tools may not be easy to use, codes generated may not be efficient

TCS2411 Software Engineering 32

Other Process Models

Component assembly model—the process to apply when reuse is a development objective Concurrent process model—recognizes that

different part of the project will be at different places in the process

Formal methods—the process to apply when a mathematical specification is to be developed Cleanroom software engineering—

emphasizes error detection beforetesting

TCS2411 Software Engineering 33

Conclusion

The paradigm used for development of software depends on a number of factors

People - staff & users Software product Tools available Environment

Existing models makes development process clearer, but they can be evolved to become new paradigms

TCS2411 Software Engineering 34

References

References

Related documents

The reaction patterns car- ried out in the realm of surface energetics (entailing tendino- muscular meridian systems, trigger points, and Bi disorders) must be

نمزلما يوئرلا دادسنلإا ضربم ينباصلما روكذلا Objectives: To compare walking-based activity and sedentary behavior between males with chronic

 Focus on concurrent engineering activities in a software engineering process such as prototyping, analysis modeling, requirements specification and design.  Represented

The first to- mographic cross-correlation analysis using multiple redshift bins from a single galaxy survey was carried out by ([ 25 ] , hereafter G16 ) using CMB lensing data from

Figure 2 shows the calculated anechoic SPL response and impedance for the two woofers in the bass reflex enclosure while Figure 3 contains the same plots for the tweeter... All

and Minerals (MIM), which was responsible for most of the country’s SOEs, developed a strategy to keep its “staff working and off the streets, cover their payroll disbursements

Since SWE data in the clinical workflow typically were acquired from one of those three image planes, we also investigated this matter and found that, using only AE-SWE data

The corn and wheat treatments were derived from a factorial combination of application dates (October and November), N rates (75 and 100% rate of location N requirements), N