Database project assignment
Chapter 2: Preparing for the project work
19
Chapter 2: Preparing for the project work
2.1 Introduction In this chapter, we introduce the coursework assignments required for this subject. We do this early on in the guide so that you start to think about the assignments at the beginning of your studies. You will probably need to do some associated work before you start the final preparation of the assignments and you should not rush into the work. In particular, you need to spend some time thinking about the possible areas that your work will relate to and the real world context or problem that your database and spreadsheet will address. You will also need to develop some general skills in using your software and spend a bit of time exploring its capabilities. Modern spreadsheets and database systems can do many things – in the jargon of the field we would say that they have many functionalities and you cannot, and should not, try to use all the features they offer in your coursework. However, you do need to have a good general appreciation of what is possible before you focus on your particular project. Note that the word ‘functionality’ is often used to describe what we expect a system or item of software to be able to do. Later in this guide when considering systems development we will talk about the related concept of a ‘requirement’ as a statement of desired or needed functionality. A major task of systems analysis work – work to develop a new information system – is discovering the requirements of people in the real world, and specifying them as functionalities that the technology should provide. Thus we speak of a ‘functional requirement’.
The syllabus requires you to submit two items of work for marking. Together, the two items of work count for 25 per cent of the marks:
• preparation of a database project report (12.5 per cent)
• preparation of a spreadsheet project report (12.5 per cent).
These assignments are intended to provide students with the opportunity to select and undertake small ‘development’ projects using common computer tools; spreadsheets and databases, but also a word processor and perhaps a graphics editor for diagrams. The submitted reports are intended to document your work and to show how you analysed a particular problem and designed and implemented a computer-based solution.
In each case, the work must meet certain requirements and must be submitted in the form requested. Note also that we specify that the marks for this work are based principally on the report; that is, the written document, and not on the spreadsheet or database itself. This is a subtle, but important, distinction. Your job is to write a good report that identifies and explains the work that you have done.
The exact choice of project is up to you, and you will need to work carefully on identifying and developing your project ideas. Projects are intended to be individual works, so they must be different to those of any other student with whom you are studying. Make sure that your chosen project areas are distinct and in an area with which you are familiar and interested. Thus our recommendation is that your project should be developed out of some experience or interest that you have or some application that you believe is needed in the world around you. It should not be just a textbook exercise.
IS1060 Introduction to information systems
20
In both database and spreadsheet projects the Examiners want to see evidence of the originality of the topic chosen as the basis for the work and for the data used. In our experience as Examiners we have seen too many students taking boring, abstract and over simple topics as the basis of their work, or just replicating work based on some standard textbook example. There is nothing wrong with reading textbooks on databases or spreadsheet modelling, or exploring examples provided with your software – indeed this is a good idea – but you must then go beyond any examples you have studied and create your own projects based on your own chosen application area.
2.1.1 Aims of the chapter The aims of this chapter are to:
• introduce the two elements of coursework required to be submitted for assessment
• emphasise the need for you to choose suitable topics for this work from areas that are of interest to you
• indicate the methods and approaches we expect you to use in doing this work
• give guidance as to the content and structure of the reports you will prepare and the style of presentation we expect.
2.1.2 Learning outcomes By the end of this chapter, and having completed the Essential readings and activities, you should be able to:
• develop and document small computer applications using basic packages (for example, word processor, database and spreadsheet)
• recognise the need to work methodically and to meet deadlines
• appreciate the distinction between analysis work and design work
• apply simple analytical and design techniques to systems development
• transform a paper design into a running application
• prepare a brief report on development work conveying a problem description, a design, and decisions taken with associated reasons
• reflect this experience back on to the other parts of this syllabus.
2.1.3 Background reading To help you to appreciate the possibilities, it may be useful to look at the ‘Hands on MIS Projects’ sections of the various chapters of Laudon and Laudon (2013). For example, at the end of Chapter 2, an example is given of a spreadsheet of purchasing data to be used to help inform supply chain management.
It is very important for you to understand that the written report is what the Examiners mark. They do not receive any database or spreadsheet files to run on a computer. Examiners do not expect any accompanying discs or files with the project work, and if you submit discs and files, they will not be looked at. What Examiners do expect to receive, printed on paper, is a coherent account of the problem you tackled, the approach used and key details of how you analysed, designed and implemented your solution. Any accompanying
Chapter 2: Preparing for the project work
21
printouts, screenshots, database tables, and so on are only intended to support the written report and should be carefully chosen and mentioned in the report. If you just rely on lots of ‘printouts’ and fail to write a coherent report, the Examiners cannot give you many marks.
In the database project, there are two central requirements – first, a carefully developed class diagram to show those aspects of the world that your databases will store data about. Second, a normalised data model that serves as the design that you will implement in software. The class diagram is the result of analysis work – you studying the world. The data model, which leads on from the class diagram, is the result of design work – taking the class diagram as its starting point. If the data model is well executed, with entities identified, relations clearly expressed and attributes specified, then the rest of the project – its implementation using the software – will follow smoothly. In preparing the data model students must show evidence that they have explicitly considered issues of normalisation. The details of class diagrams, data models and normalisation are topics covered in Chapter 8 of this subject guide.
For the spreadsheet project, it is less easy to identify a specific or linked set of fundamental requirements. To achieve a good mark, you need to select an appropriate problem to tackle – one that has a reasonable quantity of data and an underlying computational model that you can implement. The best projects draw on real data that relate to some area that you really understand or have researched. Weak projects are based on made-up data or examples from books that provide models that are too simple or too generic. Remember too, good spreadsheets are designed according to sound principles. You thus need to give careful consideration to who the user is and what they want, how the spreadsheet is structured, how it looks on the screen and on the page, and the clear separation of input data (independent variables) from formulae and parameters, intermediate results and final output (dependent variables). Equally, you should choose graphs and charts so as to provide particular and useful information to the user and not just generate them for the sake of showing off every feature of the spreadsheet package. For example, pie charts are easy to produce, but are you sure that a pie chart is relevant in providing the user of your spreadsheet with what they want or need?
2.1.4 Essential reading
Databases
Curtis, G. and D. Cobham Business information systems: analysis, design and practice. (London: Prentice Hall, 2008) sixth edition [ISBN 9780273713821] Chapter 13, Section 13.2.
Laudon, K.C. and J.P. Laudon Management information systems: managing the digital firm. (Boston; London: Pearson, 2013) thirteenth edition [ISBN 9780273789970 (pbk)] Chapter 6, Section 6.2.
Spreadsheets
Curtis, G. and D. Cobham Business information systems: analysis, design and practice. (London: Prentice Hall, 2008) sixth edition [ISBN 9780273713821] Chapter 7, Section 7.2.
Laudon, K.C. and J.P. Laudon Management information systems: managing the digital firm. (Boston; London: Pearson, 2013) thirteenth edition [ISBN 9780273789970 (pbk)] Chapter 12, Section 12.3.
IS1060 Introduction to information systems
22
2.2 General rules for submission of assignments For detailed guidance on completing and submitting coursework, you should refer to the most up-to-date edition of the booklet entitled Completing and submitting coursework and projects. This will give you submission details for all the project work related to this subject and to other subjects in the degree programme. A copy of the booklet can be found on the course area of the VLE.
The booklet contains other useful and important information − for example, telling you that you must retain a copy of your work and that you should obtain a receipt from the post office or courier company when you send it to the University. The booklet also explains that the two work assignments for Introduction to information systems must all be bound together in a single volume in the sequence:
1. database assignment
2. spreadsheet assignment.
The form accompanying the project work (contained in the booklet) must be completely filled in and signed, and one copy should be used as the first page of each assignment. Among other things, the form asks for details of the hardware and software used in the preparation of the assignment. Simple straightforward answers are all that is required here; for example, Hardware: Samsung NC10 note book and HP LaserJet 2600n; Software: Microsoft Word 2007.
2.3 Database assignment
Reading activity
Read Section 13.2, Chapter 13 of Curtis and Cobham (2008), Chapter 6 of Laudon and Laudon (2013).
The aim of this assignment is to demonstrate an understanding of the basics of analysis and design for databases as well as to provide evidence of the use of the main features of a database package. In carrying out this assignment, you should refer to the class modelling section of this guide (Chapter 8) as well as the relevant bibliography. You will be expected to demonstrate the following through the analysis, design and construction of a small database application:
• selection of a suitable problem to be solved by a database application
• production of a class diagram using UML notation– this is a logical database design that reflects the aspects of the world that you store data about
• production of a set of normalised relations – a physical database design
• design of a data input screen or screens
• design of a query screen
• design of a report for use on screen and/or for printing on paper.
Two example assignments are given below. These are intended to illustrate the type of problem that you are expected to tackle. You must choose your own database problems from the world around you – from your college or a local business or something associated with some hobby or pastime. Suitable problems are those that require the recording of data on three
Chapter 2: Preparing for the project work
23
or more related classes of things and allow the production of a number of contrasting reports. You should not attempt designs that exceed five classes. Two classes is probably too simple but may be the starting point for your work.
Consider this example. Develop a database that will allow a person to review all the films that are on in London this week and discover at which cinemas they are showing. The aim is to help people plan their entertainment and book tickets.
At first sight this suggests two classes of things about which a system will store data – various films and various cinemas – and of course the association between them (an association is the name we use for the link between things of one class and things of another. This usage comes from UML. Sometimes we express the same idea as a ‘relationship’). 2001: A Space Odyssey – a classic film from 1968 by Stanley Kubrick and in part about computers – is showing at five particular cinemas. A user of the database would want to know this to answer their query about where the film is showing. But, just knowing where is not enough. They will want to know when. This will lead us to add another class – another class of relevant thing in the world – which we might call a showing or screening. We will then need to reflect in our class diagram these three classes. Below are two simple examples of such class diagrams with the second one showing some of the attributes (data items) that we would want to store for items of each of the three classes.
Film Cinema 0..*
0..*
Figure 2.1: A simple class diagram for films and cinemas.
The label 0..* at each end of the association in Figure 2.1 means that there can be zero, 1 or more films showing at a particular cinema (the cinema may be closed this week for redecoration), and that there can be zero, 1 or more cinemas showing a particular film. The key to database analysis is to be able to think about such associations and how they are expressed accurately in the class diagram. The ‘many to many’ relationship in Figure 2.1 above, which is how the world looks at first sight, becomes resolved into the idea of a new class called ‘Showing’ which allows us to specify a particular film being shown at a particular cinema at a particular time– hence the simple 1 at one end of the associations shown in Figure 2.2 below.
As an exercise explain what change you would make to the diagram in Figure 2.2 if a single showing could include up to four separate films. To get to the full answer to this question will require that you have studied Chapter 8, but even if this is your first read through the subject guide, you should be able to take the first steps to allow for this detail to be faithfully recorded in the class diagram.
Film
Title
Director Length
Rating
Showing Day
Time
Cinema Name
Phone no Address
0..*
0..*
1
1
Figure 2.2: A class diagram for films, showings and cinemas.
IS1060 Introduction to information systems
24
Chapter 8 of this guide contains a lot more neccessary detail about analysing and designing databases, but the two diagrams above should give you a basic understanding of the task, and an informal introduction to the class diagram. Please note also that the example used in Chapter 8 of this guide (a database of customer orders for various products) is commonly used in textbooks (see for example Laudon and Laudon (2013) Section 6.2). It is a fairly complex class diagram but an excellent one for the purpose of illustrating the task of analysing and designing a database. It is not, however, appropriate as the main basis for your database project. This is for two reasons. First, you will have used it to understand the topic, it is not your own idea. Second, given that this is a complete ‘solution’ to a common database application (a business processing orders from customers), and is already fully worked out by somebody else, using it means that you do not have the opportunity to demonstrate your ability as a database analyst and designer. Thus the Examiners will give low marks to any student who submits a database project that is just based on the customer-order model.
Example 1
A database for the Human Resources department of a company to hold information on employees and the department they work for. Data to be held include the employee’s:
• family and first names
• age
• sex
• address of residence
• date of joining the company
• department (administration, distribution, manufacturing)
• job title (assistant, technician, specialist, consultant, manager)
• head of their department (another employee)
• line manager to whom they report
• qualifications held
• training courses attended.
The system should have an input screen to allow new employees to be added to the database and a screen to allow employees who leave to be deleted. Similarly it should be possible to add or delete departments (this is an organisation that likes to reorganise itself) and to record when an employee moves from one department to another or from one job title to another (for example, a move or a promotion).
The system should produce the following reports on screen and on paper:
• A report that lists all female employees with an MSc.
• A report that shows, for each department, the employees sorted by family name.
• A report that shows all employees who joined the company before a given date in date order.
• A query to show an employee’s line manager.
Chapter 2: Preparing for the project work
25
Example 2
A database is to hold information on students, the courses they take and the teachers who teach them. Data to be held will include a student’s:
• name
• sex
• age
• address
• courses taken.
Each course has a name and meets up to three times during the week (for example, Tuesday 10–11, Wednesday 4–6). A course can have one or more teachers. The details of the teachers to be stored are:
• name
• telephone number
• qualification.
The system will allow a teacher to record homework marks for students.
The system should have input screens to allow new students to be added to the database and a screen to allow students who leave to be deleted. Similarly, it should be possible to add or delete courses and teachers as well as to record a change in who is teaching or taking which courses.
The system must produce, on screen and on paper, a report that shows:
• a query of all the people who teach a certain student
• a report of all students who have done 60 per cent or less of their homework assignments
• a report, by course, of the students enrolled sorted by family name (for example, a register)
• a query as to all teachers who are teaching more than two courses
• a list of all students who should be in class at a given time (say, Friday between 9.00 am and 2.00 pm).
2.3.1 Reporting database assignments When preparing your report for the database assignment, you are asked to include the following items.
• A description of the database problem tackled.
• A class diagram of the application, showing the various classes identified and their associations. You must use UML notation as shown in Chapter 8.
• The normalised relations that you will implement in the software, showing the attributes and keys together with their field type and ‘picture’ (for example, the type of data that is held – text, a date, a number, etc).
• A sample table of the basic relations set up in the database software together with a small amount of data.
• Designs for data input screens and reports and queries produced.
• Very brief description of how the system is operated and the commands used to undertake each task. (Note: it is assumed that this is done by using interactive commands of the database package, not by any programming.)
• Examples of the reports produced.
IS1060 Introduction to information systems
26
The total report should be about six pages of carefully laid out text, figures and diagrams, with an absolute maximum of eight pages including all examples of printouts or other necessary computer-generated reports. Reports must be permanently bound (for example, well stapled, not secured by paper clips or just slipped into plastic binders). Each page should be numbered and should have your student number on it. The report must be produced with the aid of a word processor and you are expected to insert relevant diagrams or screen shots into the text. Diagrams should either be prepared using a computer package, or perhaps done by hand and scanned in to the document.
2.4 Spreadsheet assignment
Reading activity
Read Chapter 7, Section 7.2 of Curtis and Cobham (2008) and Chapter 12, Section 12.3 of Laudon and Laudon (2013).
The aim of this assignment is to demonstrate an understanding of the basis of undertaking analysis and design for a spreadsheet, as well as to provide evidence of the use of some of the main features of a spreadsheet package. Spreadsheets are tools used for analytical modelling purposes; namely, the description of a situation by a set of quantifiable variables and their relations. One of the most common uses of spreadsheets is in accounting practices for example, the calculation of the balance sheet of a company. However, spreadsheets have proved useful in a variety of contexts including, for example, project management, engineering, geology, statistics and operational research. From a management perspective spreadsheets can be seen as a type of decision support system (DSS) (see also Chapter 3 of this guide).
For this assignment we recommend that you approach it broadly as a decision support system intended to help somebody to use some data to make a decision or to gain some extra insight, rather than as a simple structured descriptive report like a balance sheet.
What we mean by this is that the spreadsheet should be able to help somebody by manipulating or modelling some data (you could say ‘playing with’ some data) and allowing the user to input their own choice of variables or parameters in order to assess the resulting outputs.
The basis of a spreadsheet developed in this style will be an analytical model that relates different types of data (probably mostly numerical data) in order to offer some insight.
Such a model may be built in six steps:
1. Framing the problem.
2. Identifying the variables and parameters that describe the problem – the input to the model.
3. Quantifying as many of these variables and parameters as possible.
4. Specifying the relations among variables and how they combine – in other words, the model you will use.
5. Specifying the required output from the model in terms of a user’s interrogation of the model – reports.
6. Testing the spreadsheet with carefully chosen data and identifying and correcting errors.
Chapter 2: Preparing for the project work
27
Curtis and Cobham (2008, pp.236–38) provide a very useful brief design methodology for a spreadsheet along these lines, distinguishing five elements:
1. user information
2. input data
3. logic (for example, the model)
4. report (what the user wants to see or know)
5. errors.
The word ‘methodology’ is used to describe a framework for undertaking some task, combined with some tools to be used. In information systems, and in particular in development of systems, methodologies are often proposed, adopted and critiqued. In this case the methodology being proposed is contained in the two lists given here – one a set of sequential and necessary tasks, the other a proposed general structure or template for the spreadsheet itself.
In the example in Curtis and Cobham (2008), worksheets and the workbook feature of the Excel spreadsheet package are used to specify a separate worksheet for each of these five elements. Doing this may seem too complex for a simple project, but it can help you to concentrate on the core distinctions between input data, model and output.
The benefits of analytical modelling flow from the ability of the user to adjust and interrogate the model. Therefore, flexibility and robustness are required qualities for the model. A great deal of good modelling practice when developing spreadsheets is incorporated in the two fundamental laws of spreadsheet modelling.
• The first law specifies that any cell on the spreadsheet should contain either a variable (number or text string) or a formula, but never a combination of the two.
• The second law requires that any item of input data or model parameter should appear only once. This helps ensure that you will not have problems with inconsistent data or when updating some value.
Figure 2.3: A spreadsheet abiding by the two laws of spreadsheet modelling.
IS1060 Introduction to information systems
28
Figure 2.3 gives a simple example of the application of these two laws. The spreadsheet problem uses the interest rate as an input variable or parameter and it is entered in one spreadsheet cell only (in cell C4). Thereafter the model makes reference to that cell to use the interest rate in any subsequent calculation. You should thus never write the cell formula for cell D8 as =C8*0.065 (assuming that the interest rate was 6.5 per cent) and you would certainly never replicate such a formula. The correct approach is to enter the formula in cell D8 as =C8*$C$4 – the use of the $ signs makes an absolute and unchanging reference to cell C4. This is a formula that can be copied or replicated down the column. In this way we can be sure that all the formulae in column D use the same reference to the interest rate. If and when we wish to change it we need only enter the new rate (say 8.5 per cent) once. The alternative approach of writing the formula as C8*0.065 would mean that we had to hunt down every use of 0.065 and change it and the potential for error in doing that would be very great.
Interrogation of an analytical model usually means the generation of numerical results, but it could be as textual data. More sophisticated interrogation practices include:
• What-if? analyses – What if the interest rate was to go up by 2 per cent?
• Sensitivity analyses – If the cost of one component of a manufactured product was to double, how much would the overall cost go up?
• Goal-seeking analyses – How much must the marketing budget be if we are to achieve a 4 per cent growth in market share? This spreadsheet would be based on a model that relates sales to marketing spend.
• Optimisation – What is the optimal mix of advertising spend as between newspaper advertisements and television commercials?
In each case, answers to these questions will require a particular style of interrogation of a basic model.
You are expected to consider the following areas in your project work and to write about this in your report:
• analysis of a problem domain in terms of variables and relationships incorporated in a model
• overall design of a spreadsheet for clarity and to support an appropriate style of interrogation (‘what-if?’, optimisation, etc.)
• use of appropriate functions for data manipulation (for example, sort, sum, average, look-up tables and other simple mathematical and statistical functions)
• formatting of cells for text and numbers
• design of an onscreen and printed report from the spreadsheet
• design of graphical reports including the choice of an appropriate graph type.
Activity
When choosing a graph as the output from a spreadsheet suggest the type of data that would be suitable for display using:
• a pie chart
• a bar chart or histogram
• an x/y plot or scatter plot.
Two example assignments are given below. These are intended to illustrate the type of problem that you are expected to tackle. As with the database
Chapter 2: Preparing for the project work
29
project you must choose your own spreadsheet problems from the world around you – from your college or business or something associated with some hobby or pastime. Economic data, exchange rates, share prices, demographic data or even the weather report may provide appropriate data. Suitable problems are those that require you to summarise or model numerical data (say up to 80 raw data points), to show a result or a trend, to permit some ‘what-if?’ questions to be asked and to produce a printed report and a graphic chart. Our experience as Examiners suggests that projects based on basic accounting reports, balance sheets, flow of funds, etc. are not good topics for this project. They are usually so set in their format, and so reliant on simple addition and subtraction, that you have little opportunity to demonstrate your own analysis and design skills.
Example 1
A spreadsheet is to be used by a motor racing team to calculate the appropriate volume of fuel to have in the race car at the start of the race. A driver can have more fuel, but the car will be heavier and will travel more slowly. On the other hand, if the car is light on fuel, it will have to refuel more often – and that takes time. Other relevant issues are the length of the race, the running conditions (fast or slow, wet or dry), the air temperature and an estimate of what the competition is going to do. A spreadsheet is needed to let the team manager and the driver evaluate alternative approaches. During the race, the model can be updated with the actual fuel usage and refuelling times.
This example is probably of no interest to most readers, but to a car racing fanatic it is a fascinating and a welcome challenge. Your task is to find something as interesting to you to serve as the basis of your spreadsheet.
Example 2
A spreadsheet is used to analyse the tax position of an employed person in your country. This will need you to do some research into the exact details of the tax rules of your country and will include issues of income tax as well as health and other social insurances, pension contributions, etc. The circumstances of an individual – for example, married or with children – will also generally affect the amount of income taken in tax, as may other characteristics, such as age or student loans.
The spreadsheet can be used to generate a table and chart showing the marginal tax rate that applies at various levels of income – that is the percentage of income taken in tax and other deductions as income rises. The model may also answer the reverse question, ‘How much do I need to earn gross to take home a given net amount?’ This is an example of goal seeking. You might also use such a model to inform a politician about the marginal tax rate that various individuals face and as a way to model new and perhaps fairer policies.
2.4.1 Reporting spreadsheet assignments When reporting your spreadsheet assignment, you need to produce the following items:
1. A description of the spreadsheet problem tackled.
2. A paper-based model of the problem representing the relations between the independent and dependent variables that you use. This may be in the form of a diagram or as arithmetical equations. For example, if a model was developed to cost products from a factory it might be based on formulae such as:
IS1060 Introduction to information systems
30
a. base cost = materials cost + handling charge;
b. manufacturing cost = (batch set-up cost/batch size) + (time on machine * hourly machine rate)
c. total cost = base cost + manufacturing cost
This can be shown as above as formulae, but might better be shown in a diagram.
3. The design criteria used in preparing the spreadsheet (choice of multiple spreadsheets in a workbook, layout, task breakdown, choices made in cell formatting, use of colour).
4. A description of the key formulae used in the model (for example, as written for the spreadsheet).
5. Steps taken to enforce data validation (input validation, cross-checking of calculations, reporting of error conditions), and overall integrity of the model (appropriate use of cell referencing, not mixing variables and numbers in the same formula, etc).
6. Very brief descriptions of how the system is operated the commands used to undertake each major task.
7. One or more figures showing the spreadsheet as it appears on the screen in whole or in part.
8. Reports and appropriately annotated graphs.
Remember, the total report should not exceed six pages of carefully laid out text. As with the database work, examples of printouts and other necessary computer generated reports can be appended. The assignment should have a copy of the submission form as the front page. Reports must be permanently bound together with the database report (for example, well stapled, not secured by paper clips or just slipped into plastic binders). Each page should be numbered and have your student number on it. The report must be produced with the aid of a word processor and you are expected to insert relevant diagrams or screen shots into the text.
2.5 Reminder of learning outcomes Having completed this chapter, the appropriate project work, activities and the Essential reading, you should be able to:
• develop and document small computer applications using basic packages (for example, word processor, graphics editor, database and spreadsheet)
• recognise the need to work methodically and to meet deadlines
• appreciate the distinction between analysis work and design work
• apply analytical and design techniques to systems development producing a paper design
• transform a paper design into a running application
• prepare a brief report on development work conveying decisions taken and associated reasons
• reflect this experience back on the other parts of this syllabus.
Chapter 2: Preparing for the project work
31
2.6 Test your knowledge and understanding 1. Sketch a class diagram for the following situations:
a. A library database to include novels, their authors, the various editions available and the publishers. How would you handle multiple copies of the same edition of the same book, such as you might find in a college library?
b. A database of music considering songs, albums, singers, producers, writers.
Keep your class diagrams as simple as you can, but note all complexities or confusions that you might need to deal with later.
2. What spreadsheet chart would you use for the following situations:
a. Monthly rainfall data over three years.
b. Numbers in a country’s population within age groups and by gender.
c. Gold price in US$ over three years.
3. Sketch a paper model of a spreadsheet for the following situations:
a. Calculating Body Mass Index (BMI). Weight data may come in pounds, grams or stones and pounds. Height data in inches, centimetres or feet and inches. (You can find the BMI formula online if need be.)
b. The cost per student of a class trip to the theatre. This is to include tickets, hire of a bus, insurance and meals. The cost will depend on the number of students who choose to go; for example, bus hire is fixed for n= 1 to 50 while every 10th ticket is free from the theatre.
4. For each of the classes shown in the class diagrams sketched in Question 1 above add some essential attributes that you would want to store data about. Are you sure that you have always placed the data in the right class? Are there situations where it may be debatable?