Presentation is loading. Please wait.

Presentation is loading. Please wait.

1. Systems and Software Development

Similar presentations


Presentation on theme: "1. Systems and Software Development"— Presentation transcript:

1 1. Systems and Software Development
1.1 The Systems Life Cycle

2 1.1.6 Design: Approaches

3 Top-down or bottom-up? Modular decomposition is a top-down approach: consider the whole problem and break it into parts. Bottom-up approaches are not common: take many small modules and build them into a larger product (see what evolves...).

4 Advantages of modularity
Debugging the program is easier – errors can usually be isolated to a particular module. Time saving – each module is worked on by a team, who can move to another module if they finish early or that team is struggling.

5 Advantages of modularity
Easier to understand – managers can get an overview without having to know the details. More flexible – modules may be dropped if not working or old ones picked “off the shelf”. Specialisation – programmers become experts on certain modules.

6 How modular? Eventually modules could equate to classes or even methods. Eventually designers write pseudocode (informal provisional code) for each module.

7 Prototyping A prototype is a simplified version of a proposed solution for presentation to the end- user during the analysis or design phase. Not fully functional but allows for user feedback. Not necessarily using the same software e.g. could be a presentation.

8 Advantages of prototyping
Helps end-user be more specific about what they actually need. Different versions of the prototype allow the designer and end-user to express a preference. Allows problems to be caught and changed earlier (i.e. cheaper and safer).

9 Solution efficiency Designs are chosen and prototypes tested not just for whether they work but also for efficiency: speed, reliability, memory use, processor use.

10 Efficiency: memory If records have fixed-length fields, it is possible to calculate how much space the data file needs. In Java, bytes use 1 byte (!), chars use 2, ints use 4, doubles use 8.

11 Efficiency: memory If the whole file is loaded into IAS, how much memory will be required? Can the whole project be stored on a memory stick? How long would it take to download? What are the ideal length for String variables (too short - truncates values, too long - overflows memory)?

12 Efficiency: processor
Is this less important with today’s processors? Sorting is very processor-intensive. Look for efficient algorithm designs e.g. quicksort (HL) over bubble sort, if using bubble sort, use a flag to indicate no more passes are needed when the data are sorted.


Download ppt "1. Systems and Software Development"

Similar presentations


Ads by Google