Você está na página 1de 23

Software Engineering Paradigms

What happens in the life of software

Software Engineering Layers


tools methods process model a quality focus

22

The Primary Goal: High Quality


Remember: High quality = project timeliness Why? Less rework!

33

Classic Life Cycle\Waterfall Model

System Engineering Analysis Design Code Testing Maintenance

44

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 welldefined/repeated projects

55

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
66

Prototyping Model
Start
Requirements gathering and refinement

Quick design

Building prototype

listen to customer

build/revise mock-up

Engineer product

Refining Customer prototype evaluation

customer test-drives mock-up

Stop

77

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
88

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

99

Spiral Model
Planning

Risk Analysis

Customer Communication

Engineering

Customer Evaluation

Construction & Release

10

Six Task Region


Spiral Model

11

Customer Communication-tasks required to establish effective communication between developer and customer.
12

Planning-tasks required to define resources, timelines, and other project related information.
13

Risk analysis-tasks required to assess both technical and management risks

14

Engineering-Tasks required to build one or more representations of the application

15

Construction & Release-Tasks required to construct, test, install and provide user support (e.g., documentation and training)
16

Customer Evaluation-Tasks required to obtain customer feedback based on evaluation of the software representations created during the engineering stage and implementation during the installation stage

17

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
18

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

19

Fourth Generation Techniques (4GT)

20

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
21

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

22

References
Software Engineering: A Practitioners Approach 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 Software Engineering by Ian Sommerville, Addison-Wesley, 2001

23

Você também pode gostar