Sample coursework with teacher’s comments




Paper 3. Mark scheme

 

The Computer Science coursework project is assessed as follows:

 

Section Mark Available
Quality of the report  
Definition, investigation and analysis  
Design  
Software development and testing  
User documentation  
Evaluation  
Total: 60 marks

 

Quality of report 3 marks
The report presented is incomplete, where also errors in the logical construction between the stages of the system development life cycle, as well as errors in grammatical or lexical accuracy may be present.  
A full report is presented, which may have insufficient evidence or schematic representation of some sections. The stages of the system development life cycle are organised logically correct, but there could be some omissions. There may be some errors in grammatical or lexical accuracy.  
The presented report is full, with complete and reliable evidence for all sections of the project. All stages of the system development life cycle are built correctly and a logical connection is present. Errors in grammatical or lexical accuracy in the report are minimal.  

 

Definition, investigation and analysis (10 marks) 10 Marks
Description of stakeholders (user, client or any other). Some elements of analysis have been discussed but with little or no user involvement. 1-2
The report contains a description of the current system and a description of third parties, who may be a client or a potential user, with an attempt to involve them in data collection. A depthless analysis was carried out that covered only some of the necessary elements. There was an attempt to list the requirements for the future system. There was no attempt or weak attempt to discuss alternative solutions of the problem. 3-5
The report contains a description of the current system with a detailed description of the third parties (client or potential user), with their involvement in data collection. The report contains an analysis with reference to the collected data, which covers most of the necessary elements. Lists the requirements for a future system is present with a good discussion of alternative ways to solve the problem. 6-8
The report contains a full description of the current system with a detailed description of the involved third parties (client or potential user). There is excellent involvement of the third party in collecting data for the current system analysis. The report contains in-depth analysis, which includes all the necessary elements, based on the collected data. A detailed list of requirements for the future system is discussed and made. A thorough discussion of alternative solutions to the problem is presented. 9-10

 

Design section

 

Nature of the solution 8 Marks
In the report, the candidate attempted to list the objectives of the new system. Weak attempt to present the work of the new system as a description or schematically. 1-2
The main objectives of the new system is sufficient, but not all of them are measurable or suitable for decision-making. Brief overview of the design features, including a brief description of the schematic representation of the process that consist one / some of the following: prototype of the input / output forms, structure diagram, data flow diagram (minimum context level) or system flowchart. Data structures have been identified but may contain insufficient data. 3-4
At least six SMART objects have been defined and complete. A full design specification is included but there may be some errors or logical inconsistencies, for example validation specified may be inadequate or field lengths incorrect. A well-designed project for a specific problem describing the key aspects of structured solution is presented. There is clear evidence that a response to the design has been obtained from the client, and any comments have been acted upon. 5-6
A clear set of specific and measurable objectives with a detailed and complete design specification, in a set of measurable and appropriate specific objectives, covering all required functionality of the solution or areas of investigation. There are also detailed written descriptions of any processes/modules and a clear including prototype with appropriate components, complete definition of any data structures. 7-8

 

Intended benefits 2 Marks
One valid benefit of the new system has been identified and explained.  
The benefits of the new system have been comprehensively described.  

 

Limits of the scope of the solution 2 Marks
One valid limitation of the new system has been identified and explained.  
The limitations of the new system have been comprehensively described.  

 

Software Development, Programming, Testing and Installation (25 marks)

 

Completeness of solution 3 Marks
A solution proposed did not meet the requirements of a solution.  
A solution proposed met many or almost all of the requirements of a solution. 2-3

 

Development and programming 15 Marks
Program listings or evidence of tailoring of a software package is provided in the form of printouts. The developed solution does not fulfil the design specification. A teacher may award 1 mark if they have been shown the system working satisfactorily and there is no hard evidence in the project report.  
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. The candidate in solving the problem shows an understanding and application of skills for the algorithms listed in Table 1 in group C. The listing is organized without any subroutines for organizing the structure. There was an attempt to use of meaningful identifier names and poor formatting. The code is provided with poor annotation or no annotation, so that the decision logic cannot be followed. No exception handling was demonstrated. 2-3
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. The candidate in solving the problem shows an understanding and application of skills for the algorithms listed in Table 1 in group C at a sufficient level or attempt of applying skills for the algorithms listed in group B. The listing is organized without any subroutines for organizing the structure. There was an attempt to use of meaningful identifier names and formatting. The code is provided with poor annotation, so that the decision logic cannot be easily followed. No exception handling was demonstrated. 4-5
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. The candidate in solving the problem shows an understanding and application of skills for the algorithms listed in Table 1 in group C at an excellent level or in group B at a sufficient level. The listing shows some use of subroutines for organizing the structure, the use of meaningful identifier names, but there could be some omissions in formatting. The code is provided with some comments. There was an attempt to use exception handling. 6-7
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. The candidate in solving the problem shows an understanding and application of skills for the algorithms listed in Table 1 in group B a sufficient level. The listing shows some use of subroutines for organizing the structure, the use of meaningful identifier names, and formatting to show the used structures of control logic. The code is provided with some comments. Exception handling was demonstrated where needed. 8-9
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. The candidate in solving the problem shows an understanding and application of skills for the algorithms listed in Table 1 in group B at an excellent level or in group A at a sufficient level. The listing shows the good use of subroutines for organizing the structure, the use of meaningful identifier names, and formatting to show the used structures of control logic. The code is provided with notes with some comments, so that the decision logic can be easily followed. Exception handling was demonstrated where needed. 10-11
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. Solution of the problem shows an excellent understanding and application of skills for the algorithms specified in group A in Table 1. The listing shows the good use of subroutines for organizing the structure, the use of meaningful identifier names, and formatting to show the used structures of control logic. The code is provided with comments, so that the decision logic can be easily followed. Good exception handling was demonstrated where needed. 12-13

 

Table 1.

 

Group C Simple expert system development Using script language to connect a database Linear algorithms Conditional (branching) algorithms Simple mathematical calculations (eg average) Non-SQL table access
Group B One-dimensional arrays Insertion and bubble sort algorithms Using script language to work with databases Loop structure SQL statements Writing and reading from files
Group A Binary search algorithm Two-dimensional array SQL statements for data selection in more tables Nested loops Recursion Sorting algorithms other than those given in the Programme

 

 

Testing 7 Marks
A collection of hardcopy test run outputs with no test plan, or a test plan with no hardcopy evidence may also be present. A teacher may award 1 mark if they have been shown the system working satisfactorily and there is no hard evidence in the project report.  
There is little evidence of testing with a badly developed test plan with clear omissions. A small number of tests have been carried out, which demonstrate that some parts of the solution work/some outcomes of the investigation are achieved. 2 -3
There should be hardcopy evidence of most of the objectives’ test runs cross-referenced to the test plan. Tests include cases with valid, invalid and extreme data. However, not all cases have been tested or not clearly presented evidences for some tests. 4-5
The tests completed should show that the system developed has fulfilled all its objectives and demonstrates the scope of the final system. Tests include clear evidences for cases with valid, invalid and extreme data. 6-7

 

Installation 2 Marks
Details of system changeover have been documented. Some evidence of client and/or user testing is given, usually by questionnaire or written comments by fellow students or others who were not directly involved in the development of the system.  
An implementation plan with details of systems changeover and training required. There is written evidence available from the client indicating that they have seen the system in operation.  

 

User Documentation

 

User manual 6 Marks
An incomplete guide, perhaps with no screen displays. Some options briefly described but difficult for the user to follow. 1-2
All but one or two options fully described (for example, back-up routines not mentioned). Mostly, the options are easy for the user to follow with screen displays. 3-4
A full user guide with all options described well presented (possibly as booklet) with an index and a glossary. No omission of any of the options available (including back-up routines, guide to common errors). Marks may be lost for inadequate descriptions of some options. For full marks, good on-screen help should exist where this is a sensible option, and be present in the form of a hypertext document. 5-6

 

Evaluation

 

Evaluation 4 Marks
A vague evaluation for the system was given without any reference to the objectives the Design section. No feedback was received from third parties or the received feedback does not provide a sufficient evaluation of the system.  
A vague evaluation for the system was made with reference to some of the objectives the Design section. Feedback received from third parties does not provide a full evaluation of the system, the candidate attempted to make an analysis of the feedback.  
Evaluation for the system was made with reference to the objectives the Design section. Feedback received from third parties provide a full assessment of the system, the candidate attempted to make an analysis of the feedback.  
Good evaluation for the system was made with reference to the objectives the Design section. Feedback received from third parties provide a full assessment of the system and the candidate made a thorough analysis of the feedback.  

 


Sample coursework with teacher’s comments

 

Section Mark Available Marks Awarded
Quality of the report    
Definition, investigation and analysis    
Design    
Software development and testing    
User documentation    
Evaluation    
Total: 60 marks  

 

Quality of report 3 marks
The report presented is incomplete, where also errors in the logical construction between the stages of the system development life cycle, as well as errors in grammatical or lexical accuracy may be present.  
A full report is presented, which may have insufficient evidence or schematic representation of some sections. The stages of the system development life cycle are organised logically correct, but there could be some omissions. There may be some errors in grammatical or lexical accuracy.  
The presented report is full, with complete and reliable evidence for all sections of the project. All stages of the system development life cycle are built correctly and a logical connection is present. Errors in grammatical or lexical accuracy in the report are minimal.  
Mark  
Examiner’s comment:   Evidences for all sections included, language is well structured and used. The report is full and easy to read and follow.

 

 


 

Definition, investigation and analysis (10 marks) 10 Marks
Description of stakeholders (user, client or any other). Some elements of analysis have been discussed but with little or no user involvement. 1-2
The report contains a description of the current system and a description of third parties, who may be a client or a potential user, with an attempt to involve them in data collection. A depthless analysis was carried out that covered only some of the necessary elements. There was an attempt to list the requirements for the future system. There was no attempt or weak attempt to discuss alternative solutions of the problem. 3-5
The report contains a description of the current system with a detailed description of the third parties (client or potential user), with their involvement in data collection. The report contains an analysis with reference to the collected data, which covers most of the necessary elements. Lists the requirements for a future system is present with a good discussion of alternative ways to solve the problem. 6-8
The report contains a full description of the current system with a detailed description of the involved third parties (client or potential user). There is excellent involvement of the third party in collecting data for the current system analysis. The report contains in-depth analysis, which includes all the necessary elements, based on the collected data. A detailed list of requirements for the future system is discussed and made. A thorough discussion of alternative solutions to the problem is presented. 9-10
Mark  
Examiner’s comment   Investigation was conducted as interview with client and evidences as some document forms. The candidate demonstrates thorough analysis of the business working, that includes good description of the organization and the methods currently used showing any areas that can cause problem. There is also some diagrammatic representation of the system work. There is a brief list of requirements for the new system presented.

 

Description of the organization

My client is XXX, assistant of the doctor at kindergarten at NIS. There are 79 children currently visiting this day care centre aged between 3 and 7 years old. XXX works with the group of doctors, who are intended to maintain physical health, develop sustainability of the immunity, provide medical and pre-medical healthcare and control the nutrition. The last one is her primary goal and therefore the control of all processes related to the food consumption is her responsibility. This includes calculations of the proportion of proteins, fats, carbohydrates and the amount of vitamins in the meal; control and regulation of fresh and healthy food supply. Moreover, the menu is also needed to be altered daily, because the vast majority of little children absolutely detest repeating meal.

Methods currently used

To store the information about each of the kid or to create new menu, which includes satisfying amount of vital elements, XXX applies paper method of handling data instead of using and storing it electronically. She writes down all the information on a special A4 format paper every day and keeps it in a folder. This document includes such information as:

  • Denomination of the product/meal;
  • Total amount/ amount per a person of convenience food expended;
  • The amount of calories, fats, proteins and carbohydrates.

Then, once in a 10-day period, the client has to create a report and write it in a journal. Therefore, the current method is inefficient, very slow, time-consuming and uncomfortable to use as it takes a lot of time to update, record or find particular information, and some errors might occur during the calculations due to the human factor. Due to XXX’s opinion, the present system cannot be kept in use anymore. Thus, new computerized software is required to solve these problems.

Origin of the data

The major part of the information comes from conversations with the refectory staff, namely with chef. He provides data about the amount of food spend. The information about the number of children comes from the teachers, after morning check out. The assortment of meals and food, which is permitted to use, comes from the official letter from Astana. Another sort of data comes from, A.A.Pokrovskii’s table of chemical composition and caloric capacity. This table is used to calculate the quantity of calories, fats, proteins, carbohydrates and vitamins consisting any meal.

Investigation

In order to obtain the information about how the current system works, analyze it for strengths and weaknesses it was decided to provide an interview directly with the client. In addition to this, during the interview, the questions on how the new system should work will be asked to find some specific aspects and exact instructions. That would probably aid to create a suitable project, satisfying client’s need.

Moreover, the documentation used in the current system will be analyzed too. This would give me clear vision of what my client is have to do, and would provide some ideas of how it should be improved.

Below are the details of the interview - the questions asked and Mrs. XX’s responses:

Question 1: As a doctor assistant at kindergarten, what do you responsible for?

Well, there is a lot of work I have to do every day, but control of the nutrition is my main obligation because it is very important for kids to be fed correctly.

Question 2: What do you mean by correctly?

The correct nutrition means that they eat the right proportion of proteins, carbohydrates and fats just because it plays a major role in process of growing healthy and developing normally. And… the regulation of the amount of vitamins is quite important too.

Question 3: How do you control the nutrition?

I do it by myself; usually it requires noting down all the denominations of different meals and the quantity used per a person, then I calculate the total number of products expended. And, once in 10 days I write a report where the proportion of carbohydrates, proteins and fats are calculated. The right proportion is 2:1:1.

Question 4: And what about the control of vitamins?

Well, we just look whether the food is fresh, and of course, we give children a lot of vegetables and fruits. However, once in 2-3 months we take the blood analysis, but our colleagues do almost everything during this operation from the local hospital.

Question 5: Where all the information comes from? I mean, if you write it down, then, who tells you about the denominations and quantities of a food used per a kid?

So, the major part of the information comes from conversations with the refectory staff, namely with chef. He provides data about the amount of food spend. The information about the number of children comes from the teachers, after morning check out. The assortment of meals and food, which is permitted to use, comes from the official letter from Astana. Another sort of data comes from, A.A.Pokrovskii’s table of chemical composition and caloric capacity. This table is used to calculate the quantity of calories, fats, proteins, carbohydrates and vitamins consisting any meal.

Question 6: As you work with a plenty of sources of information, is that makes your task more difficult?

Yes, it makes. For instance, the letter from Astana comes only once a year, but I use it every day to create a menu as well as the A.A.Pokrovskii’s table. Firstly, I look at menu, then search all these products in a table and calculate the proteins, fats and so on, only after that I note down the information. Therefore, everything is linked, I cannot just write down the data, because firstly I have to find it, calculate and check it.

Question 7: How do you think the new system should cope with that problem?

So, if the new system will be able to search through the table and will be also able to create a new menu, based on the letter with the denominations of permitted products by itself, that would solve most of my problems.

Question 8: How does the information stored?

Hm… As I said before, I write down everything on a special A4 format paper, and then keep it in a folder in a medical staff room. However, it is really complicated to search for the specific information you want. Precisely, when I decide to make a report, most of the time I spend searching for these sheets of paper. It actually takes a lot of space. The documentation for the previous year takes almost one fourth of our room.

Question 9: As I understood from our previous conversation, there is a big issue with calculation? Is not it?

Yeah, in fact, it takes a lot of time, because I have to double check all my calculation. Due to human factor, you know, when you are tired, or sick, or something disturbs your attention, some mistakes are possible to be made. But, from the other side, the report with this calculation is made only once in 10 days. What would you suggest?

My response: OK, there are two ways: first one- the new system will be fully computerized, that includes all the calculations, and second way is partially computerized system, when the calculation still remains as previously. But I would suggest fully computerize the system because that would also solve the problem with the info storage. That means, you would not have to keep all those sheets with reports.

Question 10: To whom do the reports you have made go?

They are checked by the chef and by the head of refectory.

Question 11: Is there any backup of this data made?

There is no copy of the paperwork, so if I lose them or make more than 4 errors while writing it, I have to remake everything.

Question 12: Off-the-shelf software is software that you can buy directly in a shop, have you looked if there is any software that could do that?

Yes I have looked into that, but there isn't any software that can provide exactly what we require so we need custom written software for this.

 

Form the data takes

 

Below are the copies of A.A.Pokrovskii’s table and letter from Astana with the denominations of permitted products:

 


 

Analysis

Flow chart of the current paper-based system

 

 

       
   
 


Data Flow Diagram of the current system


Data capture method

How is data captured and processed?

The client receives a letter form Astana with a list of permitted products and keeps that list in a folder. Another sort of data such as the number of children at a time comes from conversation with the head teacher at kindergarten. She also provides the list with the names of all children. Then, the dietitian writes down this data on a special pre-report A4 format paper and uses it for creating a report. But, most part of the information such as the quantity and type of food expended comes from the report of refectory staff. All these information again is written down on a pre-report paper. This data then is used in order to calculate the amount of carbohydrates, fats, proteins, calories and also to calculate the quantity of food spend per a person. Finally, all these data is noted down on a report form and kept in folders in a medical staff room.

What works well and doesn't

The current system has both advantages and disadvantages. The process of gathering the data is quite simple and do not require much time, but calculations are quite complicated. There is a chance to make a mistake due to human factor; also the client has to spend a lot of time counting the outputs. Additionally, it is hard to keep all these documents and manage them, so if the dietitian wants to find some particular information, she has to search through hundreds of papers. But the most sophisticated part of her work is creating a report from all her calculation, which is very time-consuming because everything is done manually. Computerizing this part of the system would improve the efficiency of the system making the input of the data and calculation of calories, carbohydrates, fats and proteins much easier.

 

Alternative approaches

  • Excel table

From the discussion with the client it was obtained that using excel table has some advantages. For instance, excel is quite useful to create charts or diagrams in order to make the data look simpler. It also operates necessary formulas which could be used during the calculations. However, if one formula is accidently deleted or changed, then the whole table will not work because client do not have enough experience and knowledge to operate all those formulas, so she could easily make a mistake. Actually, when the new list of permitted products will come from Astana, most of the formulas in the table have to be changed. Moreover, as the client is not used to work a lot with excel, she finds its interface quite complicated Due to these reasons, excel table was excluded from the list of alternatives.

  • Project in Delphi

Delphi was the next alternative which we have discussed. There are some considerable advantages of Delphi was found during the conversation. Firstly, it has a suitable friendly interface, so working with it will be much easier for client. Secondly, the formulas will be already written by a programmer, so the probability of making a mistake significantly decreases. Finally, Delphi provides an opportunity to work with database, so the data from official letter will be proceed much faster and easier. Therefore, the new system will include project in Delphi connected to the database. Due to these reason we have chosen this alternative.

 

Requirements

User requirements:

These are the requirements for the new system, which have been thoroughly discussed and agreed with the client:

  1. The system should be easy to manage and work with, so the client will not get confused;
  2. The system should provide data storage;
  3. The system should check the inputs and outputs for mistakes;
  4. The system should be able to provide an access to any record;
  5. The new system should be able to input following:

· Number of children

· Total quantity of product

· Type of product

· List of permitted products

  1. The new system should be able to create a report with the following information:

· Quantity of carbohydrates, fats and proteins

· Quantity of product per person

· Total amount of calories

 

 


 

Nature of the solution 8 Marks
In the report, the candidate attempted to list the objectives of the new system. Weak attempt to present the work of the new system as a description or schematically. 1-2
The main objectives of the new system is sufficient, but not all of them are measurable or suitable for decision-making. Brief overview of the design features, including a brief description of the schematic representation of the process that consist one / some of the following: prototype of the input / output forms, structure diagram, data flow diagram (minimum context level) or system flowchart. Data structures have been identified but may contain insufficient data. 3-4
At least six SMART objects have been defined and complete. A full design specification is included but there may be some errors or logical inconsistencies, for example validation specified may be inadequate or field lengths incorrect. A well-designed project for a specific problem describing the key aspects of structured solution is presented. There is clear evidence that a response to the design has been obtained from the client, and any comments have been acted upon. 5-6
A clear set of specific and measurable objectives with a detailed and complete design specification, in a set of measurable and appropriate specific objectives, covering all required functionality of the solution or areas of investigation. There are also detailed written descriptions of any processes/modules and a clear including prototype with appropriate components, complete definition of any data structures. 7-8
Mark  
Examiner’s comment   The list of objectives contain more than six objectives, however not all of them are SMART. Design specification includes data dictionary with some omissions for the validation of the fields Prototypes of some forms are given, structure of the system is described diagrammatically.

 

Design

Objectives of the system

These objectives are based on the requirements written by the dietitian at the kindergarten at Nazarbayev Intellectual School in her letter (see p.17) and on my personal suggestions. I have agreed these objectives with the end user. So, these objectives provide me a direction on what the new system must do and how to apply my programming abilities:

1. The system must use a graphical user interface to provide a user-friendly operation;

2. The system must be able to store and manage huge amount of data;

3. The system must be able to work with database;

4. Provide data verification and validation in order to avoid entry errors;

5. The system must be fast and without bugs;

6. The system must be able to provide an access to any record;

7. The new system must be able to input following:

• Quantity of product

• Type of product

8. The new system must be able to automatically create a report containing:

• Quantity of carbohydrates, fats and proteins

• Average quantity of product

• Amount of calories

Forms of the system

According to my investigation of the current system for the medical department at Nazarbayev Intellectual School, I start to design the new system from following Diagram. As my project is mainly done in Delphi program, there will be 3 forms used in the new system. Those forms will be connected with one-to-one type.

Proposed record and data structure

The following three tables will be used in the new system, and the details of data information are listed as follows.

Data Dictionary

Meal table

Field Name Type Length Validations Description Example
Denomination of the product String   Presence check The name of the food, ingredient Bread
Quantity of the product Number Real Presence check Amount of food spent per kid  

Report table

Field Name Type Length Validations Description Example
Quantity of carbohydrates Number Real Presence check Amount of carbohydrates in meal  
Quantity of fats Number Real Presence check Amount of fats in meal 0,04
Quantity of proteins Number Real Presence check Amount of proteins in meal 18,11
Quantity of calories Number Real Presence check Amount of calories in meal 78,0
Total amount of calories Number Real Presence check Total amount of calories in a daily meal  

 


 

Data input form

All data enter the system through following input form, so the user (dietitian) can avoid manual work. Therefore, it should save her time and simplify the process of creating medical report. The input form contains input fields and button, providing a user-friendly interface. Based on my observation and interviews, the following designs will meet the requirements of the system and the agreement of user:

 

 

This form is used to input the data about the quantity and type of food consumed by children at kindergarten. First of all, the name of the meal/ food is typed into corresponding fields. Then the amount of that food is typed into next field. This operation is repeated until all the fields are completed. In fact, there 41 rows which have to be filled in, because the daily meal for each kid is consist of 41 different components. After finishing this procedure, button ‘save’ is pushed, so the records are saved. Finally, the ‘close’ and ‘quite’ buttons are used to close the form and program correspondingly.

Data output form

All the data out from the system are shown in a text area. According to the structure of the original system and the ERD diagram, I designed following output form of data with agreements of Mrs. Zhanat.

 

Data output form demonstrates information such as the quantity of carbohydrates, fats and proteins as well as the average amount of product and total amount of product spent per a person.

Menu and Module Design

According to the structure of the original system and the requirements of client, I suggest a new system with 4 main modules. Each module has its specific functions. Also, a menu design is needed to lead the user to access to different working modules. The following is my design:

ü Data Input module.

ü Edition module.

ü Creating Report module.

ü Data saving and loading module


Data flow diagram of the new system

 


       
   
 
 

Flow chart for the new system

 

 

 

Intended benefits 2 Marks
One valid benefit of the new system has been identified and explained.  
The benefits of the new system have been comprehensively described.  
Mark  
Examiner’s comment:   There are four benefits given and explained.

 

Intended benefits

1. Fast speed of operation. In comparison with the current system, the new system is computerized and therefore it became faster to calculate the quantities of carbohydrates, fats and proteins. Thus, new system will increase the efficiency of the dietitian’s work and save her time.

2. Reduced number of errors. With new validation rules, new program can provide information without any errors. Additionally, automatic system is likely to have fewer errors during the calculations.

3. Portable and secure keeping of data and straightforward process of data search. Current system is based on hard copies, so data stored on it can be damaged and it takes a lot of place in the medical staff room. Moreover, it is quite complicated to search for the certain information when the client is about to create ten-day report. Whereas, the new system provides security of keeping data (can make backup versions) and it is portable to keep it using flash drive and easy to find required data.

4. Simplified work. All operation with information proceeding and data analysis become easier and now routine with many sheets of paper is replaced by simple work with a computerized system, so the report creation procedure is no longer a sophisticated process.

 

 

Limits of the scope of the solution 2 Marks
One valid limitation of the new system has been identified and explained.  
The limitations of the new system have been comprehensively described.  
Mark  
Examiner’s comment:   There are three possible limitations are described. There is also a brief estimation of size of the system.

 

Limits of the scope of the solution

Although the new system might solve many problems in the original one, there are still some limits and disadvantages of its usage.

  • The program is not able to work with products, which do not have static values of fats, proteins and etc.
  • The program could not calculate the cumulative amount of proteins, fats etc. in the specific meal. It can do it only for separated products
  • When the data from the program is saved it can be only read by this program, other software such as MS could not do it appropriately.

The program will presumably account for less than 5 megabytes as the database for the program simplified and now counts only for several kilobytes. But some pictures are included into the program to make a suitable interface, so it needs memory.

 

 

Software Development, Programming, Testing and Installation (25 marks)

 

Completeness of solution 3 Marks
A solution proposed did not meet the requirements of a solution.  
A solution proposed met many or almost all of the requirements of a solution. 2-3
Mark  
Examiner’s comment:   Proposed solution is appropriate for the level of grade 12. The Proposal form was approved for the coursework development.

 


 

 

Development and programming 15 Marks
Program listings or evidence of tailoring of a software package is provided in the form of printouts. The developed solution does not fulfil the design specification. A teacher may award 1 mark if they have been shown the system working satisfactorily and there is no hard evidence in the project report.  
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. The candidate in solving the problem shows an understanding and application of skills for the algorithms listed in Table 1 in group C. The listing is organized without any subroutines for organizing the structure. There was an attempt to use of meaningful identifier names and poor formatting. The code is provided with poor annotation or no annotation, so that the decision logic cannot be followed. No exception handling was demonstrated. 2-3
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. The candidate in solving the problem shows an understanding and application of skills for the algorithms listed in Table 1 in group C at a sufficient level or attempt of applying skills for the algorithms listed in group B. The listing is organized without any subroutines for organizing the structure. There was an attempt to use of meaningful identifier names and formatting. The code is provided with poor annotation, so that the decision logic cannot be easily followed. No exception handling was demonstrated. 4-5
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. The candidate in solving the problem shows an understanding and application of skills for the algorithms listed in Table 1 in group C at an excellent level or in group B at a sufficient level. The listing shows some use of subroutines for organizing the structure, the use of meaningful identifier names, but there could be some omissions in formatting. The code is provided with some comments. There was an attempt to use exception handling. 6-7
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. The candidate in solving the problem shows an understanding and application of skills for the algorithms listed in Table 1 in group B a sufficient level. The listing shows some use of subroutines for organizing the structure, the use of meaningful identifier names, and formatting to show the used structures of control logic. The code is provided with some comments. Exception handling was demonstrated where needed. 8-9
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. The candidate in solving the problem shows an understanding and application of skills for the algorithms listed in Table 1 in group B at an excellent level or in group A at a sufficient level. The listing shows the good use of subroutines for organizing the structure, the use of meaningful identifier names, and formatting to show the used structures of control logic. The code is provided with notes with some comments, so that the decision logic can be easily followed. Exception handling was demonstrated where needed. 10-11
Program listings or evidence of tailored software packages are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. Solution of the problem shows an excellent understanding and application of skills for the algorithms specified in group A in Table 1. The listing shows the good use of subroutines for organizing the structure, the use of meaningful identifier names, and formatting to show the used structures of control logic. The code is provided with comments, so that the decision logic can be easily followed. Good exception handling was demonstrated where needed. 12-13
Mark  
Examiner’s comment:   The listing provided by the candidate shows his programming skills that are listed in group A: 2D array structure to store data, nested loops to read and write 2D array elements, reading from and writing to spreadsheet. Good formatting to structure the code.

 

Table 1.

 

Group C Simple expert system development Using script language to connect a database Linear algorithms Conditional (branching) algorithms Simple mathematical calculations (eg average) Non-SQL table access
Group B One-dimensional arrays Insertion and bubble sort algorithms Using script language to work with databases Loop structure SQL statements Writing and reading from files
Group A Binary search algorithm Two-dimensional array SQL statements for data selection in more tables Nested loops Recursion Sorting algorithms other than those given in the Programme

 


 

System design

 

 

Program listing

This is the main form which the user meets first when the program is run. The main form provides such opportunity like ‘Open’ the values for each type of meal and then, if required, change something. After that, it is possible to ‘Save’ these changes. Finally, when the specific values are loaded, the form may offer a client to move to the next form.

 

This screenshot demonstrates the process which happens when the ‘ОТКРЫТЬ’ button is pressed. Similarly, the data can be saved.

Here is the example of the saved file:

The second form is the data input form. Here, the user enters the amount of specific product spent. The clients inputs values for 10 days and then, by pressing button ‘Вычислить среднее значение’ she could calculate the mean value for the amounts of products. After the average value is calculated, the user can press “Подсчитать” button, which will show the third form.

Columns Days 1 to 10
Type Number
Length 10
Validation Presence check

 

The last form shows all calculated amounts of proteins, fats, carbohydrates and calories. Then the user could close the program by pressing “ЗАКРЫТЬ” button.

 

Listing

Unit1;

var

f: TextFile;

iTmp, i, k: Integer;

strTemp: string;

begin

AssignFile(f, FileName);

Reset(f);

with inputtable do

begin

// Get number of columns

Readln(f, iTmp);

ColCount:= iTmp;

// Get number of rows

Readln(f, iTmp);

RowCount:= iTmp;

// loop through cells & fill in values

for i:= 0 to ColCount - 1 do

for k:= 0 to RowCount - 1 do

begin

Readln(f, strTemp);

Cells[i, k]:= strTemp;

end;

end;

CloseFile(f);

end; { This code enables to open the specific values for each product into stringgrid component }

 

procedure SaveStringGrid(strngrd1: TStringGrid; const FileName: TFileName);

var

f: TextFile;

i, k: Integer;

begin

AssignFile(f, FileName);

Rewrite(f);

with inputtable do

begin

// Write number of Columns/Rows

Writeln(f, ColCount);

Writeln(f, RowCount);

// loop through cells

for i:= 0 to ColCount - 1 do

for k:= 0 to RowCount - 1 do

Writeln(F, Cells[i, k]);

end;

CloseFile(F);

end; { Saves the changes for specific values of each product }

 

procedure TMainForm.LoadClick(Sender: TObject);

begin

if OpenDialog.Execute then

begin

LoadStringGrid(inputtable, OpenDialog.FileName);

Caption:= ExtractFileName(Opendialog.FileName);

end else Exit;

end; { Opens the dialog during which a specific file could be loaded into stringgrid }

 

procedure TMainForm.SaveClick(Sender: TObject);

begin

Savedialog.Title:= Сохранить таблицу как...';

if not savedialog.Execute then

Exit

else

begin

savedialog.Title:= Сохранить таблицу как...';

SaveStringGrid(inputtable, savedialog.FileName);

end;

end;{ Saves changed values in specific file}

 

 

procedure TMainForm.strngrd1KeyPress(Sender: TObject; var Key: Char);

begin

if (key='-')and(pos('-',inputtable.Cells[inputtable.Col,inputtable.Row])<>0) then key:=#0;

if (key=',')and(pos(',',inputtable.Cells[inputtable.Col,inputtable.Row])<>0) then key:=#0;

case Key of

'0'..'9', #13,#08, ',','-':;

else

Key:= Chr(0);

end;

 

if key = #13 then

with inputtable do

if col < colcount - 1 then

col:= col + 1

else if row < rowcount - 1 then

begin

row:= row + 1;

col:= 1;

end

else

begin

row:= 1;

col:= 1;

 

end;

end; { If some cells are empty, then this code fills it with 0s in order the program to function normally without errors }

 

procedure TMainForm.GoNextFormClick(Sender: TObject);

begin

Mainform.visible:=false;

begin

InputForm.Show;

end;

end; { Shows the next form and makes current form invisible }

 

procedure TMainForm.FormCreate(Sender: TObject);

begin

InputTable.Cells[1,0]:='Белки';

InputTable.Cells[2,0]:='Жиры';

InputTable.Cells[3,0]:='Углеводы';

InputTable.Cells[4,0]:='Каллории';

InputTable.Cells[0,0]:='Продукты';

InputTable.Cells[0,1]:='Мясо';

InputTable.Cells[0,2]:='Сливочное масло;

InputTable.Cells[0,3]:='Растительное масло';

InputTable.Cells[0,4]:='Молоко';

InputTable.Cells[0,5]:='Кефир';

InputTable.Cells[0,6]:='Сметана';

InputTable.Cells[0,7]:='Творог';

InputTable.Cells[0,8]:='Сыр';

InputTable.Cells[0,9]:='Яйца';

InputTable.Cells[0,10]:='Мука';

InputTable.Cells[0,11]:='Гречка';

InputTable.Cells[0,12]:='Манная крупа';

InputTable.Cells[0,13]:='Рис';

InputTable.Cells[0,14]:='Пшено';

InputTable.Cells[0,15]:='Лапша';

InputTable.Cells[0,16]:='Перловка';

InputTable.Cells[0,17]:='Геркулес';

end; { Fills the fixed cells in the table with the names of each product

 

procedure TMainForm.TimerTimer(Sender: TObject);

begin

welcome.left:=welcome.Left+1;

if welcome.Left > mainform.width then welcome.Left:= welcome.Left-(mainform.width+welcome.Width);

end; { The caption is moving }

 

procedure TMainForm.CloseClick(Sender: TObject);

begin

MainForm.Close;

end; { Closes the form }

end.

 

 

Unit2;

procedure TOutputForm.FormCreate(Sender: TObject);

begin

OutputTable.Cells[1,0]:='Белки';

OutputTable.Cells[2,0]:='Жиры';

OutputTable.Cells[3,0]:='Углеводы';

OutputTable.Cells[4,0]:='Каллории';

OutputTable.Cells[0,0]:='Продукты';

OutputTable.Cells[0,1]:='Мясо';

OutputTable.Cells[0,2]:='Сливочное масло;

OutputTable.Cells[0,3]:='Растительное масло';

OutputTable.Cells[0,4]:='Молоко';

OutputTable.Cells[0,5]:='Кефир';

OutputTable.Cells[0,6]:='Сметана';

OutputTable.Cells[0,7]:='Творог';

OutputTable.Cells[0,8]:='Сыр';

OutputTable.Cells[0,9]:='Яйца';

OutputTable.Cells[0,10]:='Мука';

OutputTable.Cells[0,11]:='Гречка';

OutputTable.Cells[0,12]:='Манная крупа';

OutputTable.Cells[0,13]:='Рис';

OutputTable.Cells[0,14]:='Пшено';

OutputTable.Cells[0,15]:='Лапша';

OutputTable.Cells[0,16]:='Перловка';

OutputTable.Cells[0,17]:='Геркулес';

end; { Fills the fixed cells in the srtinggrid with the names of each product }

 

procedure TOutputForm.CloseBtnClick(Sender: TObject);

begin

OutputForm.Close;

end; {Closes the form}

end.

 

Unit3;

procedure TInputForm.AverageCalcClick(Sender: TObject);

var s:real;

i,j: integer;

begin

 

For j:=1 to inputtable1.rowcount do begin

s:=0;

for i:=1 to inputtable1.colCount do begin

If inputtable1.Cells[i,j]='' then inputtable1.Cells[i,j]:='0';

s:=s+strtofloat(inputtable1.Cells[i,j]);

end;

inputtable1.Cells[11,j]:=Floattostr(s/10);

 

end;

end; {Calculates the mean values and fills empty cells with 0s}

 

procedure TInputForm.CalculateAllClick(Sender: TObject);

var

i:integer;

s,d,s1,d1,s2,d2,s3,d3: real;

begin

 

for i:= 1 to outputform.outputtable.rowcount do begin

If mainform.inputtable.cells[1,i]='' then mainform.inputtable.cells[1,i]:='0';

If inputForm.InputTable1.cells[11,i]='' then inputForm.InputTable1[11,i]:='0';

s:=strtofloat(mainform.inputtable.cells[1,i]);

d:=strtofloat(inputform.inputtable1.cells[11,i]);

Outputform.outputtable.cells[1,i]:= FloatToStr((s*d)/100);

 

If Mainform.inputtable.cells[2,i]='' then Mainform.inputtable.cells[2,i]:='0';

If Inputform.inputtable1.cells[11,i]='' then Inputform.inputtable1.cells[11,i]:='0';

s1:=strtofloat(Mainform.inputtable.cells[2,i]);

d1:=strtofloat(Inputform.inputtable1.cells[11,i]);

Outputform.outputtable.cells[2,i]:= FloatToStr((s1*d1)/100);

 

If Mainform.inputtable.cells[3,i]='' then Mainform.inputtable.cells[3,i]:='0';

If Inputform.inputtable1.cells[11,i]='' then Inputform.inputtable1.cells[11,i]:='0';

s2:=strtofloat(Mainform.inputtable.cells[3,i]);

d2:=strtofloat(Inputform.inputtable1.cells[11,i]);

Outputform.Outputtable.cells[3,i]:= FloatToStr((s2*d2)/100);

 

If mainform.inputtable.cells[4,i]='' then mainform.inputtable.cells[4,i]:='0';

If inputform.inputtable1.cells[11,i]='' then inputform.inputtable1.cells[11,i]:='0';

s3:=strtofloat(mainform.inputtable.cells[4,i]);

d3:=strtofloat(inputform.inputtable1.cells[11,i]);

Outputform.outputtable.cells[4,i]:= FloatToStr((s3*d3)/100);

InputForm.Close;

Outputform.show;

end;

end; {Calculates the values for each of the elements such as proteins, fats etc.}

 

procedure TInputForm.FormCreate(Sender: TObject);

begin

Inputtable1.Cells[1,0]:='День 1';

Inputtable1.Cells[2,0]:='День2';

Inputtable1.Cells[3,0]:='День 3';

Inputtable1.Cells[4,0]:='День 4';

Inputtable1.Cells[5,0]:=' День 5';

Inputtable1.Cells[6,0]:=' День 6';

Inputtable1.Cells[7,0]:=' День 7';

Inputtable1.Cells[8,0]:=' День 8';

Inputtable1.Cells[9,0]:=' День 9';

Inputtable1.Cells[10,0]:=' Д



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-11-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: