SlideShare a Scribd company logo
1 of 2
Download to read offline
FOOD: Coursework 3
1. You should implement a system for holding and outputting records of astronomical objects. The
types of object include:
a. stars, which each have a name, a type and a distance from the sun.
• star types include a a size “dwarf", “giant" or “normal", and a colour, “red", “white" or
“yellow"
b. galaxies, which each have a name, a type, and a distance from the sun.
• galaxy types include “spiral”, “elliptical” and “irregular”
c. planets, which each have a reference to the star they orbit, a name, a type, a radius, a time to
orbit, and a distance from the star.
• planet types include: “icy”, “rocky” and “gaseous”.
The system will hold a database of records, and support various kinds of output. A simple output
will just list all the names of the objects in the database. Alternative outputs will include the
distance, the type, an identification number; any combination of these outputs may be requested.
(You should either print output to the screen, or save it to a file.)
e.g. an output of just names:
Mars
Jupiter
Sirius
Andromeda Galaxy
an output including an identification number and type:
1 Mars, Rocky
2 Jupiter, Gaseous
3 Sirius, white dwarf
4 Andromeda Galaxy, spiral
You should complete the following steps:
1. UML design for system (5 marks)
2. Implement your system, including at least two ways of creating the output
(10 marks)
3. Write junit tests (7 marks)
4. Add a GUI to the system, supporting at least: (18 marks)
a. screen to input a new record
b. display screen listing all the information stored
c. controls to output the data, with some means of selecting the output styles
5. Explain all aspects of your design and demonstrate it working (10 marks)
Marks will be awarded for:
• Quality of the code design, including use of appropriate design patterns and Java libraries.
• Correct working of the system.
• Comprehensive use of junit tests.
• Use of a variety of widgets within the GUI. (Note: you must write the code for the GUI
yourself, using the examples from the module materials; automatically generated code will
be awarded 0 marks.)
Total: 50 marks
2. Write an essay on agile development processes, relating the ideas to a concrete example of
developing a program, such as from section 1.3.4 of the module notes. Describe XP and test-driven
development as examples of agile development processes. Summarise those aspects most important
for an individual programmer working on a project by him or herself, and which aspects are most
important for a large software project, involving many programmers.
Use citations and references for any material that you use. Write between 1500 and 2000 words.
Marks awarded for:
1. Description of main methodologies. (10 marks)
2. Relation of methodologies to coding example. (7 marks)
3. Summary of differing aspects. (5 marks)
4. Clear English and references. (3 marks)
Total: 25 marks

More Related Content

Similar to Coursework 3

PPT on Python - illustrating Python for BBA, B.Tech
PPT on Python - illustrating Python for BBA, B.TechPPT on Python - illustrating Python for BBA, B.Tech
PPT on Python - illustrating Python for BBA, B.Tech
ssuser2678ab
 
Comp 220 ilab 7 of 7
Comp 220 ilab 7 of 7Comp 220 ilab 7 of 7
Comp 220 ilab 7 of 7
ashhadiqbal
 
A453 programming task 1
A453 programming task 1A453 programming task 1
A453 programming task 1
Tom Dale
 
2021 icse reducedsylabiix-computer applications
2021 icse reducedsylabiix-computer applications2021 icse reducedsylabiix-computer applications
2021 icse reducedsylabiix-computer applications
Vahabshaik Shai
 
Student Research Award
Student Research AwardStudent Research Award
Student Research Award
Jonathan Lepp
 
Reducing Redundancies in Multi-Revision Code Analysis
Reducing Redundancies in Multi-Revision Code AnalysisReducing Redundancies in Multi-Revision Code Analysis
Reducing Redundancies in Multi-Revision Code Analysis
Sebastiano Panichella
 

Similar to Coursework 3 (20)

lecture02-cpp.ppt
lecture02-cpp.pptlecture02-cpp.ppt
lecture02-cpp.ppt
 
lecture02-cpp.ppt
lecture02-cpp.pptlecture02-cpp.ppt
lecture02-cpp.ppt
 
lecture02-cpp.ppt
lecture02-cpp.pptlecture02-cpp.ppt
lecture02-cpp.ppt
 
lecture02-cpp.ppt
lecture02-cpp.pptlecture02-cpp.ppt
lecture02-cpp.ppt
 
20072311272506
2007231127250620072311272506
20072311272506
 
Section1 compound data class
Section1 compound data classSection1 compound data class
Section1 compound data class
 
3rd Semester Computer Science and Engineering (ACU) Question papers
3rd Semester Computer Science and Engineering  (ACU) Question papers3rd Semester Computer Science and Engineering  (ACU) Question papers
3rd Semester Computer Science and Engineering (ACU) Question papers
 
Android - Android Application Configuration
Android - Android Application ConfigurationAndroid - Android Application Configuration
Android - Android Application Configuration
 
PPT on Python - illustrating Python for BBA, B.Tech
PPT on Python - illustrating Python for BBA, B.TechPPT on Python - illustrating Python for BBA, B.Tech
PPT on Python - illustrating Python for BBA, B.Tech
 
Comp 220 ilab 7 of 7
Comp 220 ilab 7 of 7Comp 220 ilab 7 of 7
Comp 220 ilab 7 of 7
 
A453 programming task 1
A453 programming task 1A453 programming task 1
A453 programming task 1
 
2021 icse reducedsylabiix-computer applications
2021 icse reducedsylabiix-computer applications2021 icse reducedsylabiix-computer applications
2021 icse reducedsylabiix-computer applications
 
Student Research Award
Student Research AwardStudent Research Award
Student Research Award
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
TypeScript . the JavaScript developer best friend!
TypeScript . the JavaScript developer best friend!TypeScript . the JavaScript developer best friend!
TypeScript . the JavaScript developer best friend!
 
2.pdf
2.pdf2.pdf
2.pdf
 
Comp 220 ilab 7 of 7
Comp 220 ilab 7 of 7Comp 220 ilab 7 of 7
Comp 220 ilab 7 of 7
 
I2DS Project.pdf
I2DS Project.pdfI2DS Project.pdf
I2DS Project.pdf
 
Reducing Redundancies in Multi-Revision Code Analysis
Reducing Redundancies in Multi-Revision Code AnalysisReducing Redundancies in Multi-Revision Code Analysis
Reducing Redundancies in Multi-Revision Code Analysis
 
c++ ppt.ppt
c++ ppt.pptc++ ppt.ppt
c++ ppt.ppt
 

Coursework 3

  • 1. FOOD: Coursework 3 1. You should implement a system for holding and outputting records of astronomical objects. The types of object include: a. stars, which each have a name, a type and a distance from the sun. • star types include a a size “dwarf", “giant" or “normal", and a colour, “red", “white" or “yellow" b. galaxies, which each have a name, a type, and a distance from the sun. • galaxy types include “spiral”, “elliptical” and “irregular” c. planets, which each have a reference to the star they orbit, a name, a type, a radius, a time to orbit, and a distance from the star. • planet types include: “icy”, “rocky” and “gaseous”. The system will hold a database of records, and support various kinds of output. A simple output will just list all the names of the objects in the database. Alternative outputs will include the distance, the type, an identification number; any combination of these outputs may be requested. (You should either print output to the screen, or save it to a file.) e.g. an output of just names: Mars Jupiter Sirius Andromeda Galaxy an output including an identification number and type: 1 Mars, Rocky 2 Jupiter, Gaseous 3 Sirius, white dwarf 4 Andromeda Galaxy, spiral You should complete the following steps: 1. UML design for system (5 marks) 2. Implement your system, including at least two ways of creating the output (10 marks) 3. Write junit tests (7 marks) 4. Add a GUI to the system, supporting at least: (18 marks) a. screen to input a new record b. display screen listing all the information stored c. controls to output the data, with some means of selecting the output styles
  • 2. 5. Explain all aspects of your design and demonstrate it working (10 marks) Marks will be awarded for: • Quality of the code design, including use of appropriate design patterns and Java libraries. • Correct working of the system. • Comprehensive use of junit tests. • Use of a variety of widgets within the GUI. (Note: you must write the code for the GUI yourself, using the examples from the module materials; automatically generated code will be awarded 0 marks.) Total: 50 marks 2. Write an essay on agile development processes, relating the ideas to a concrete example of developing a program, such as from section 1.3.4 of the module notes. Describe XP and test-driven development as examples of agile development processes. Summarise those aspects most important for an individual programmer working on a project by him or herself, and which aspects are most important for a large software project, involving many programmers. Use citations and references for any material that you use. Write between 1500 and 2000 words. Marks awarded for: 1. Description of main methodologies. (10 marks) 2. Relation of methodologies to coding example. (7 marks) 3. Summary of differing aspects. (5 marks) 4. Clear English and references. (3 marks) Total: 25 marks