Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing.

Similar presentations


Presentation on theme: "Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing."— Presentation transcript:

1 Chapter 5 How are software packages developed?

2 What are the main steps in software project development? Writing Specifications - Analysis Phase Developing Algorithms - Design Phase Coding Algorithms - Development Phase Testing and Running Programs Maintaining Programs - Implementation and Maintenance Phase

3 Writing Specifications – Analysis Phase A problem specification is the careful statement of what problem is to be solved.

4 Specifications must indicate exactly: What issues are to be addressed. How potential solutions will be evaluated

5 Developing Algorithms – Design Phase Problem must be completely and accurately specified first. Design – careful statement of algorithm and any related material Algorithm – careful statement of appropriate techniques: – Must produce results in a timely manner by using resources that are appropriate and available

6 Development Phase Coding or programming Algorithms into a form the compute can interpret. Testing and running programs – investigation for bugs (errors) – Specification may have been incomplete or inaccurate. – Algorithm may contain flaws. – Coding process may be incorrect.

7 Development Phase (cont) Debugging – – Finding the cause of an error – Correcting the error

8 Implementing and Maintaining Programs After correcting all errors the programs are implemented or placed into operation/production.

9 Implementation and Maintaining Programs (cont) Maintenance is due to: – Clarification or expansion of problem statement. – User experience results in suggested improvements – Errors not found in testing are corrected. – New or changed circumstances: hardware, software, environment, or user.

10 Implementation and Maintaining Programs (cont) If drastic changes are needed, a new program may be required and the entire process will start over.

11 How do developers decide what capabilities to put in their software. A program must meet a user’s real needs. The identification of user’s needs and expectations can be far from straightforward.

12 How are users needs determined? Interview – Explicitly ask potential users what they need. Questionnaire – When there are many disbursed users, or a general target audience. This is called market analysis. Observation – see what people do at work to determine their needs

13 How are users needs determined (continued)? Source documents – examine existing sourece data forms and reports. Prototype – if the users don’t know or can’t express their needs, show them some mock- ups to spark their input.

14 Meeting Changing Needs During Program Development Classical Programming - Depends on previous phase being successfully completed before next phase can start - Phases can take a long time so requirements can change

15 Meeting Changing Needs During Program Development Extreme Programming (aka Agile Programming) – Is much more rapid because it develops software in small increments and releases new versions of software frequently so users can evaluate it and make recommendations for improvements

16 Meeting Changing Needs During Program Development Software developers must meet or exceed users requirements or expectations which certainly change.

17 If development is user-driven, why are there features I don’t use or even want? A few potential causes are: – Needs and interests of people differ. Developers add features to make their product superior, but not all users may appreciate or even use those features.

18 Why are software packages and operating systems changed or updated so often? Good results: – Competitive advantage in the marketplace. – Computer technology is changing rapidly and software needs to keep pace with change.

19 Why are software packages and operating systems changed or updated so often? Bad results: – Lack of product stability. – Requires time & expense for purchase installation, and training.

20 But why should software change at all? During both development and use: – Users’ needs change – Users’ expectations change. – Correction of errors – Computer technology changes. – Market competition changes.

21 Why does most software contain errors (bugs)? Developer was hurried to meet the due date so compromises were made Users don’t expect a new version to be perfect Testing may not find all errors

22 What kinds of coding mistakes pass through testing? Syntax or Typographical errors Same assumption or problem understanding by programmer and tester. Tester does not understand all possible circumstances. Each module may work perfectly but not interact correctly with other modules.

23 What is a programmer? Narrow Context – only translates algorithm into computer code. Broader (and more common) context – engaged in both algorithm development and coding. Another context – does all the steps: specifications, designs, algorithms, coding and testing.

24 When should I upgrade my software? Not all upgrades may be accurate. Consider upgrading when the upgrade: – Fixes errors – Adds capabilities that you may want or would use – Enhances performance – Does one or more of the above.


Download ppt "Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing."

Similar presentations


Ads by Google