Presentation is loading. Please wait.

Presentation is loading. Please wait.

CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.

Similar presentations


Presentation on theme: "CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm."— Presentation transcript:

1 CHAPTER 1 SOFTWARE DEVELOPMENT

2 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm analysis Notation of the Unified Modeling Language (UML) Some issues related to error handling

3 3 Software engineering Software Engineering is the study of the techniques and theory that support the development of high- quality software Solve the right problem Deliver a solution on time and under budget Deliver a high-quality solution Avoid two basic risks: Solve the wrong problem Solve the problem wrong

4 4 Software Quality

5 5 Development Models A development life cycle defines a process to be followed during product development problem analysis design implementation evaluation, testing and debugging maintenance

6 6 Problem Analysis I Analysis : understanding the problem Questions to be answered: What are the objectives of the software system What are the objects to be manipulated, how are they described, how are they related Are there available operations to achieve the desired results

7 7 Problem Analysis II Various techniques: discussions and negotiations with the client modeling the problem structure and data flow observation of client activities analysis of existing solutions and systems

8 8 Design Design involves determining: the overall software structure (architecture) the key objects, classes, and their relationships Detailed design Refine the interface of each component Further decomposition Algorithm design

9 9 Vending Machine Processes Process customer input Perform expected output actions Calculate deposited money Refuse service Identify product Dispens e product Calculate and dispense change if needed not enough $ is deposited product not available EXAMPLE

10 10 Implementation Turn the design into functional software – actual coding Too many people consider this the primary act of software development May involve the reuse of existing software components

11 11 Evaluation, Testing, Debugging Does the system solve the problem? Is the solution efficient? It is possible to build a system that has no bugs and yet is completely wrong Testing and debugging: Design test cases Test to see if requirements are met Fix errors

12 12 Operation and maintenance After a system is initially developed, it must be maintained This includes: fixing errors making enhancements to meet the changing needs of users The better the development effort, the easier the maintenance tasks will be

13 13 Development Models Waterfall model Spiral model Evolutionary model

14 14 The Waterfall Model

15 15 The Waterfall Model II Each stage flows into the next Driven by documentation Advantages: Lays out clear milestones and deliverables Has high visibility – managers and clients can see the status Disadvantages: late evaluation not realistic in many situations

16 16 The Spiral Model

17 17 The Spiral Model Developed by Barry Boehm in the mid '80s Embraces an iterative process, where activities are performed over and over again for different aspects of the system Designed to reduce the risks involved Continually refines the requirements Each loop through the spiral is a complete phase of the development

18 18 The Evolutionary Model

19 19 The Evolutionary Model Like the spiral model, an evolutionary approach embraces continual refinement Intermediate versions of the system are created for evaluation by both the developers and the client

20 20 The Waterfall model revised


Download ppt "CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm."

Similar presentations


Ads by Google