Agile methods Projects in Computing and Information Systems A Student's Guide 0273721313 Pearson 2009

6.11 Top-down and bottom-up development 133 Language Criteria Weighting A B C D Maintainability 2 3 4 3 4 Support 4 4 5 4 4 HCI capability 5 5 3 5 3 Database connectivity 4 4 3 3 3 Simplicity 4 3 4 3 5 Learning 1 4 5 2 2 Score – 79 76 73 73 Table 6.2 Example comparison table evaluating overall suitability of programming languages for a project then awarded to each language are subjective estimates of how each language meets the criteria specified again on a scale of 1 to 5. For example, in this case it is felt that language A has an average rating for maintainability and is thus assigned a value of 3 in the table. The overall scores for each language are then calculated by multiplying each language’s criterion score by the associated weighting, and summing them. This score provides us with a relative measure that we can use to compare each language. In this example, language A has the highest overall score and we may, therefore, justify choosing this language for our project based on this comparison. Be aware, however, that by reducing the comparison of programming languages to a simple table such as this may mean that other important aspects are overlooked. You should, therefore, justify your choice of programming language in more depth, using a table like this to support your arguments. •

6.11 Top-down and bottom-up development

6.11.1 Introduction

If you are producing a conventional software system with a number of components for example, modules, functions, screens that can be broken down into lower levels of detail, you will have to decide whether to use a top-down or bottom-up approach for the development. These development approaches are applicable to third-generation languages where the software may be constructed with a number of functions, subroutines or procedures, fourth-generation languages, web-based appli- cations and multimedia applications all of which could be broken down into differ- ent levels of screens and sub-screens from different menus. Figure 6.7, which is an example program breakdown structure, helps to illustrate the difference between these two techniques in the following sections. The program in Figure 6.7 is a data handling system that generates long- and short-term statistical results from a data set selected by the user.