0% found this document useful (0 votes)
17 views44 pages

OOD ICA Semester1 2024 25 2

Uploaded by

belidesravan007
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views44 pages

OOD ICA Semester1 2024 25 2

Uploaded by

belidesravan007
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 44

IN-COURSE ASSESSMENT (ICA) SPECIFICATION

Module
Asher Rashid
Module Title Leader
Object-Oriented Development
Module Code CIS4083-N
(Semester 1)
Staggered across
Submission period from 11th
Dates October 2024 to
8th January 2025
Portfolio Submission Method
Online

(Blackboard)
Middlesbrough
Tower

Online Submission Notes

 Please carefully follow the instructions given in this Assignment Specification.


 Extensions or MITS should be requested using the Extenuating Circumstances (EC)
form available at
https://www.tees.ac.uk/sections/stud/extenuating_circumstances.cfm
 Instructions for submitting completed EC forms:
o Short extensions requests are emailed to either Module Leader or Course
Leader
o Long Extension requests are submitted to Course Leader or scedt-
[email protected]
o MITS requests are submitted to [email protected]
 If Extenuating Circumstances (extension or MITS) is granted, a fully completed and
signed Extenuating Circumstances form must be emailed to scedt-
[email protected] or submitted to the School Reception.

FULL DETAILS OF THE ASSIGNMENT ARE ATTACHED


INCLUDING MARKING & GRADING CRITERIA

Page 1
OOD ICA – Semester1, 2024-25

Contents

1. Introduction.................................................................................................4
1.1 Overview.............................................................................................................4
1.2 IDE and Java...................................................................................................... 5
1.3 Efficient Programs...............................................................................................5
1.4 Referencing program code.................................................................................6
1.5 Use of AI Tools................................................................................................... 6

2. Task 1: Command Line Arguments [10%]...................................................7


2.1 Problem.............................................................................................................. 7
2.2 Additional Requirements.....................................................................................7
2.3 Submission......................................................................................................... 8

3. Task 2: Console / Command Line Menu [15%]...........................................9


3.1 Problem.............................................................................................................. 9
3.2 Additional Requirements...................................................................................10
3.3 Submission....................................................................................................... 10

4. Task 3: Data Class [15%]............................................................................11


4.1 Problem............................................................................................................ 11
4.2 Data Class........................................................................................................ 12
4.3 Additional Requirements...................................................................................13
4.4 Submission....................................................................................................... 13

5. Task 4: Development Report [15%]...........................................................14


5.1 Problem............................................................................................................ 14
5.2 Word Limit.........................................................................................................15
5.3 Submission....................................................................................................... 15

6. Task 5: Event Driven Application [30%]....................................................16


6.1 Problem............................................................................................................ 16
6.2 Teams and Roles..............................................................................................16
6.3 Phase 1: GUI [ 3 Marks ]...................................................................................17
6.4 Phase 2: Data [6 Marks]...................................................................................18
6.5 Phase 3: Operations [ 9 marks ].......................................................................21

Page 2
OOD ICA – Semester1, 2024-25

6.6 Phase 4: Data Merger [6 Marks].......................................................................25


6.7 Phase 5: Quality Control [6 Marks]...................................................................27
6.8 Additional Requirements...................................................................................27
6.9 Submission....................................................................................................... 27

7. Task 6: Reflection [15%].............................................................................28


7.1 Problem............................................................................................................ 28
7.2 Sections............................................................................................................ 28
7.3 Content............................................................................................................. 28
7.4 Word Limit.........................................................................................................29
7.5 Submission....................................................................................................... 29

Appendix A. Module Learning Outcomes..................................................30

Appendix B. Key concepts......................................................................31

Appendix C. Academic Learning Support.................................................32


C.1 Independent Learning......................................................................................32
C.2 TU Library........................................................................................................ 32

Appendix D. Marking Criteria......................................................................33

Appendix E. Author, Presentation, Code Layout and Documentation....35

Appendix F. Test Plan.................................................................................36

Appendix G. Guidance for written work.....................................................37


G.1. Structure......................................................................................................... 37
G.2. Presentation....................................................................................................37
G.3. Spelling and Grammar....................................................................................38
G.4. Referencing.....................................................................................................38
G.5. Cover Page and Table of Contents.................................................................38
G.6. Development Report Sections........................................................................38

Appendix H. Peer Review Form..................................................................41

Appendix I. Submission............................................................................42

Appendix J. Marking and Demonstration..................................................43

Appendix K. Extensions and Late Submission.........................................44

Page 3
OOD ICA – Semester1, 2024-25

1. Introduction

1.1 Overview
Students are to submit solutions for six different tasks as summarised in table 1.

Table 1: ICA tasks


ICA Individual or ICA
Description Submission
Task Team Weighting
1 Command Line Arguments Week 03 Individual 10 %
2 Console Menu Week 05 Individual 15 %
3 Data Class Week 07 Individual 15 %
4 Development Report Week 08 Individual 15 %
5 Event Driven Application Week 12 Team 30 %
6 Reflection Week 13 Individual 15 %

For tasks 1, 2 and 3, students will design and develop a console application on an
individual basis. Tasks 4 and 6 are written tasks which again student complete on
their own. Task 5 is team based task, where the solution is GUI based application.

For Individual tasks, each student must attempt the task without help and or
consultation with any other person, except teaching staff. For the Team based task,
each member of the team work together on the solution and must not request or
receive any form of assistance, from any person outside their team, with the
exception of teaching staff.

If the above is not followed and two or more submissions are found to be too similar,
disciplinary action will be taken against the students making the submissions. Such
action could involve a referral for academic misconduct and or no marks being award
for the similar work.

Additional Information
General marking criteria is contained at Appendix D, with specific marking rubrics
available on Blackboard. General guidance on submissions is contained at Appendix
I. Details about marking by demonstration is at Appendix J. Additional details about
extensions and late submission is at Appendix K.

Page 4
OOD ICA – Semester1, 2024-25

1.2 IDE and Java

All applications to be marked, demonstrated and submitted, should be developed


using Apache NetBeans 18 and JDK 17. If an application fails to open in Apache
NetBeans either on Windows 11 or Debian 12, it will be scored zero marks. Likewise,
if an application does not “Clean Build” or “Run” on Apache NetBeans then no
compile and or runtime marks can be awarded.

Students should always test their application in IT0.11 or IT0.13 before submitting.
Keep a note of which machine and lab the application was tested and add this as
comment when submitting the application.

1.3 Efficient Programs

NetBeans Projects should be kept to a minimum of coded Java Classes. The


requirements for each task will state the maximum number classes that students can
code within their NetBeans Project.

With the exception of Task1, do apply modular programming, within classes, to avoid
the duplication of code.

Always apply validation for each task. Where possible, always use selection
statement instead of exception handling to detect and deal with errors. If an error
occurs either return the application to previous state or terminate the application
depending on the seriousness of the error. For example an error in reading external
data means an application cannot work correctly, thus after warning the user do
terminate the application. However in the case of invalid user input, warn the user
and exit the current operation and return the application to the main menu or GUI.

Students should also refer to guidelines contained at Appendices E and F.

Page 5
OOD ICA – Semester1, 2024-25

1.4 Referencing program code

Students should deploy code, concepts and techniques for each programming task in
accordance to what was taught in the module. If a student makes use of code not
taught in the module, then comments should be provided which:
 References the source of the code
 Explains what statements do

Failure to provide the above comments will result in zero marks being awarded for
the relevant code.

1.5 Use of AI Tools

The use of (generative) AI software is not allowed for any task of this assessment.
Failure to observe this rule will result in a referral for Academic Misconduct and a
mark of zero being awarded

Page 6
OOD ICA – Semester1, 2024-25

2. Task 1: Command Line Arguments [10%]

2.1 Problem

Create an console application which converts an 4-Bit Binary Number into a decimal
number. The user provides the binary number as command line argument, when the
application is started.

The Binary Number should be validated as a positive & whole four-bit binary number.
If it is invalid display a warning message to the user, which includes the argument
and why it is invalid.

If the argument is valid, the application will display the decimal value, followed by a
line gap. No message, instructions or title should be displayed.

The application is single purpose, so should naturally terminate after displaying either
the result or error message.

2.2 Additional Requirements

The Java file within the project should contain a single class, within which the only
method is the main method. Use the following names in your project:

 Project: BinaryConversion
 Group ID: ood
 Package: ood.binaryconversion
 Main Class: BinaryConversion

No libraries should be imported into the main class.

For Task 1, comments, indentation, line spacing, variable naming and coding style
will be specifically marked.

Page 7
OOD ICA – Semester1, 2024-25

2.3 Submission

The assessment work for Task1 should be submitted before 4.00pm on Friday 11th
October 2024 (Week 03). If a student wishes to be marked by demonstration, then
they should submit their Task1 work before the start of their Week 03 Lab session.

Page 8
OOD ICA – Semester1, 2024-25

3. Task 2: Console / Command Line Menu [15%]

3.1 Problem

Create an console application which stores a 6-Bit Binary Number in a class level
variable, with the initial value of:
 011011

When started the application should display a prominent title followed by a console
menu with the following options:

 Display current Binary number


 Change Binary number
 Display Octal value
 Display Decimal value
 Display Hexadecimal value
 Quit

The user should be prompted to select a option, which should be fully validated. If
input is invalid, warn the user and redisplay the menu, but not the title. If the input is
valid, match the input to the appropriate menu option and invoke a corresponding
user defined method.

The first action of each user defined method should be to confirm which option was
selected by the user – a sort of sub title. After a user defined method has been
completed, except “Quit”, the menu should be redisplayed

For the “Display current Binary number” option the value of the stored binary number
should be displayed as part of a suitable message. For “Change Binary number”
option the current value should be displayed following by getting and validating input
for a new 6-Bit binary number. “Display Octal value”, “Display Decimal value” and
“Display Hexadecimal value” options, display a message chowing binary number and
its value suitably converted. The “Quit” option displays a suitable goodbye message.

Page 9
OOD ICA – Semester1, 2024-25

3.2 Additional Requirements

It is very important that any leading zeroes in the Binary number are retained.
Accordingly, students should choose an appropriate variable type to store and
display the binary number.

The Java file within the project should contain a single class, for which modular
programming is applied. Use the following names in your project:

 Project: BinaryMenu
 Group ID: ood
 Package: ood.binarymenu
 Main Class: BinaryMenu

The only imported library should be the Scanner class.

For Task 2, the quality of the modular programming and output to the screen will be
key marking factors.

3.3 Submission

The assessment work for Task2 should be submitted before 4.00pm on Friday 25th
October 2024 (Week 05). If a student wishes to be marked by demonstration, then
they should submit their Task2 work before the start of their Week 05 Lab session.

Page 10
OOD ICA – Semester1, 2024-25

4. Task 3: Data Class [15%]

4.1 Problem

Create an console application which has two classes

 The Main Class


 A Data Class

The main class will create an instance of the Data class using the following 8-Bit
Binary Number:
 01110001

When started the application should display a prominent title followed by a console
menu with the following options:

 Display current Binary number


 Change Binary number
 OR
 AND
 XOR
 Quit

The user should be prompted to select an option, which should be fully validated. If
input is invalid, warn the user and redisplay the menu, but not the title. If the input is
valid, match the input to the appropriate menu option and invoke a corresponding
user defined method.

The first action of each user defined method should be to confirm which option was
selected by the user – a sort of sub title. After a user defined method has been
completed, except “Quit”, the menu should be redisplayed

Page 11
OOD ICA – Semester1, 2024-25

For the “Display current Binary number” option the value of the stored binary number
should be displayed as part of a suitable message. For “Change Binary number”
option the current value should be displayed following by getting and validating input
for a new 8-Bit binary number.

“OR”, “AND” and “XOR” options, will require the user to submit another 8-Bit Binary
Number which if valid will be stored in a local variable. Next the local variable is
passed to the appropriate method of the Data Class object, in order to receive the
relevant logical result. Finally both binary numbers and the logical result are
displayed in an tabular layout, using row headers instead of column headers. An
example of such output is depicted by Figiure1 below.

Figure1. Example of required tabular layout

The “Quit” option displays a suitable goodbye message.

4.2 Data Class

The data class should have only one field, used to store a 16-Bit binary number. A
full constructor, accessor and mutator methods should be coded. Three service
methods are required to perform the OR, AND, and XOR bitwise logical options.
These service methods will be passed a 8-Bit binary number and return the result of
applying the logical operation for the stored and passed 8-Bit binary numbers

Page 12
OOD ICA – Semester1, 2024-25

4.3 Additional Requirements

It is very important that any leading zeroes in the stored, inputted and or calculated 8-
bit Binary numbers are retained. Accordingly, students should choose an appropriate
variable type to store the numbers as a field in data class and as a local variable in
relevant methods. In addition consideration will be needed as to how to return the
result of the bitwise operations in the Data Class

There should be only two java files within the project, each of which contain a single
class, for which modular programming is applied. The only imported library should be
the Scanner class.

Use the following names in your project:

 Project: BinarySystem
 Group ID: ood
 Package: ood.binarysystem
 Main Class: BinaryController
 Data Class: BinaryNumber

For Task 3, the comments, layout, coding and naming in the Data Class and the
tabular output from Main class will be specifically marked.

In Task 4, students will be writing a development report based on their task 3 work.
Thus, it is advisable that advisable to read Task 4. This will guide students, as to
what screenshots, tests, research notes, etc., should kept when developing Task3
solution for use in the Task 4 report.

4.4 Submission

The assessment work for Task3 should be submitted before 4.00pm on Friday 8th
November 2024 (Week 07). If a student wishes to be marked by demonstration, then
they should submit their Task3 work before the start of their Week 07 Lab session.

Page 13
OOD ICA – Semester1, 2024-25

5. Task 4: Development Report [15%]

5.1 Problem

Student should write a development report on the development of their Task3


application.

The report should contain the following

 Cover Page
 Table of Contents
 Introduction
 Analysis
 Design
 Implementation
 Testing
 Conclusions
 Use of AI
 References

The reports structure follows the Waterfall development methodology. Student should
make use of the URLs provided in Learning materials on Blackboard about
methodologies.

Details of leaning more on reporting writing is at Appendix C.

Information about writing the development report and what content is required for
each section is at Appendix G.

Page 14
OOD ICA – Semester1, 2024-25

5.2 Word Limit

Students should be aiming for a word count in the range 1500 to 2000 words. Any
report over 2200 words will be scored zero for presentation component. There is no
penalty for word count being less than 1350 words, however it is likely than the any
such report may not have sufficient content to pass.

The cover page, contents listing, footnotes, code listings, tabular data, headings,
captions, citations (within round brackets), references section and any appendices
are excluded from the word count.

5.3 Submission

The assessment work for Task4 should be submitted before 4.00pm on Friday 15th
November 2024 (Week 08). Acceptable file formats are DOCX, DOC or PDF.

The filename of your report should be in the following format:

 surname-userID-OOD-Task4

For example:

 Rashid-u0018369-OOD-Task4.pdf

Page 15
OOD ICA – Semester1, 2024-25

6. Task 5: Event Driven Application [30%]

6.1 Problem

Working in small teams, an Event-driven application is to be developed for “Boro


Baby Boutique” (BBB), a local retailer of designer clothes for babies and toddlers.
The application will be used by the proprietor to manage the stock of clothes, by
entering when an item is sold or stock added. A Graphical User Interface (GUI) is
required and data is to be loaded from a text file.

Various additional features are to be incorporated into the application, which will be
added in a sequence of five distinct phases. It is recommended that a copy of the
application is backed up once a phase has been completed.

6.2 Teams and Roles

Students will be allocated to a team of three, based on their Lab Session. In each
team there are three roles, which students will alternate during Weeks 8 to 12

Table 2. Team Roles


Role Duties
Delegates and monitors progress of work
Leader Organises meetings
Supports Analyst and Tester
Identifies requirements of a phase
Analyst
Translates requirements into a design
Identifies tests for a phase
Tester
Monitors progress of testing

Coding of a phase is shared by all three roles. Students should meet at least twice
weekly to discuss development work done and to be done. At the first meeting a
schedule should be agreed for the rotation of roles and future meetings. Brief notes
should be kept of each meeting by the leader and shared with the team.
Page 16
OOD ICA – Semester1, 2024-25

6.3 Phase 1: GUI [ 3 Marks ]

A standard java application should be created using the names in Table 3 below.

Table 3: Required NetBeans project naming


What Name
NetBeans Project BBBSystem
Group ID oop
Package oop.bbbsystem
JFrame Class File BoroBabyBoutique.java

Using Java AWT and Java Swing visually create GUI based on the design, depicted
by Figure 2 below.

Figure2. Design of GUI

BBB want the GUI balanced, elegant and minimalistic with the exception of a red Quit
button. BBB does not want user to edit any text or resize the GUI. Only one table row
can be selected. The description will consist of multiple lines.

Students will need to decide on appropriate components, properties, sizing and


alignment, as well as suitable use of panels. Text size of text in table and description
and size of component for image may need to be updated when these are used in
phases to follow. All components should be correctly named. There should be no
redundant components, for example a label with no text which is not modified when
program runs.

Page 17
OOD ICA – Semester1, 2024-25

6.4 Phase 2: Data [6 Marks]

6.4.1 Sample data


BBB have provided sample text data to be used by the application. The data is in
text file bbb.dat, which is available from Blackboard.

6.4.2 Data Class [2 Marks]


Students will need to build a data class, named Garment.java, based on the
sample data in the. The class should have following fields.

 ID is a String value that uniquely identifies each garment.


 PRICE is an integer value that specifies the price in pence for each garment.
 MAKE is a String value which specifies the producer of the garment.
 COLOUR is a String value which specifies the colour(s) of the garment.
 DESCRIPTION is a String value which describes the garment.
 MATERIAL is a String values which specifies the name of materials used to
make the garment along with percentage.
 STOCK is an integer value which specifies the amount of the garment in
stock.

Students should remember that in coding the data class, suitable java naming and
house style should be applied. In terms of modifying values, the only mutator method
should be for setting a new price.

The data class, requires following service methods:

1. Get Gender method which parses the ID value to return the gender as a
String value

2. Get Size method which parses the ID value to return the age range token
followed by the word months.

3. Get Formatted Price method which converts the PRICE value into pounds
and pence. This floating point value is returned as a String value, formatted to
two fixed decimal places and preceded by the £ symbol.

4. Get Image Filename method which returns the ID value followed by .jpg.

Page 18
OOD ICA – Semester1, 2024-25

5. Increment Stock method which increases the stock value by the amount
passes to the method’s integer parameter.

6. Decrement Stock method which decreases the stock value by the amount
passes to the method’s integer parameter.

7. Calculate Total Sale method is passed the quantity of garment sold and
calculates the total sale value of the purchase. The calculated value should
use Get Formatted Price method, to format the calculated total sale value.

The value of the ID field is a delimited string value composed of four tokens, each
separated by an underscore.

The first token represent the gender of the garment:


 B: Boys
 G: Girls
 U: Unisex

The second token will be one or a combination of letters categorising the type of
garment. This token is intended for future use and can be ignored.

The third token specifies the size of the garment as an age range in months:
 0-3: Newborn to three months
 3-6: Three to six months
 6-12: Six to 12 months
 12-18: 12 to 18 months
 18-24: 18 to 24 months

The final token is an integer code for the garment, which can be ignored.

Table 4 displays the composition of the first ID value of: B_R_12-18_7111

Table4. Composition of example ID value

Token Value
Gender Boys
Garment code Romper
Size 12-18 months
Code 7111

Page 19
OOD ICA – Semester1, 2024-25

6.4.3 Loading data [2 Marks]


In the main class write a load data method which processes the input file, line by line.
The tokens obtained from each line are used to create a Garment object which is
then added to a suitable class-level data structure. The input file path and delimiter
should be set as read-only class level variables.

The load data method is to be invoked from the main class constructor and should
deploy appropriate validation and exception handling code.

6.4.4 Table [2 Marks]


Add a new Java file named GarmentTableModel.java which configures the table
model in terms of number of columns and populating the underlying data structure of
the table model. Students will need to decide which methods should be overridden.
Figure 3 shows the starting data is to be displayed in the table.

Figure 3. Populated table

In the main class write a method which initialises the table. This method should link
the Table to an instance of the Garment Table Model class to the Table in the GUI.
After which the column headers of the Table are set.

Page 20
OOD ICA – Semester1, 2024-25

6.5 Phase 3: Operations [ 9 marks ]

6.5.1 Display Image and description [1.5 Marks]


The photographs for all the garments are provided in a zip file, named
bbb_image_files.zip, which is available on Blackboard.

In the main class code methods for the following:

 Load images when the application starts

 Display image and description for an item in the table

 Wen user select a row, save the row index into a class level variable and
invoke the method to display image and description.

6.5.2 Check Stock [1.5 Marks]


Create two read only integer class level variables:
 Minimum Stock Level (value 0)
 Maximum Stock Level (value 5)

Create a method which checks the stock levels of a garment selected from the table.

 If the stock level is at the value of the Minimum Stock Level variable, then
disable the Sell component, otherwise enable the component.

 If the stock level is at the value of the Maximum Stock Level variable, then
disable the Add component, otherwise enable the component.

The Check Stock method should run anytime the user selects a table row, sells an
item or adds stock for an item.

Figure 8 below depicted the impact of Check Stock method where the stock of
selected garment is zero

Page 21
OOD ICA – Semester1, 2024-25

6.5.3 Sell Stock Operation [2 Marks]


Modify the tool tip property for the Sell component, which displays the following
message:
 Please select a garment, before processing a sale.

When an Item is selected, and the user uses the Sell component:

1. The application will check if user has selected an item from the table, if not the
user will be warned

2. If item has been selected, a pop-up dialog will request a quantity to be bought.
An example of which is depicted in figure 4

Figure 4. Input Dialog to get quantity of garment to sell

3. If the user clicks cancel or closes the dialog, the operation should be quietly
cancelled

4. The application will validate the input quantity as a positive non-zero integer,
for which there is enough stock to purchase

 Students can implement validation via an option list that displays


quantities from minimum stock level to how much quantity is in stock

 Alternatively, use a standard input dialog and providing additional code to


validate the input and display suitable warning dialog if needed.

5. If there is sufficient stock:

Page 22
OOD ICA – Semester1, 2024-25

 Stock level in the garment data structure is updated


 Stock column updated in the Table for the garment
 Confirmation of sale displayed to user
 Stock level is rechecked for the garment

Figure 5: Confirmation of sale

6.5.4 Add Stock Operation [2 Marks]


Modify the tool tip property for the Add component, which displays the following
message:
 Please select a garment, before processing adding of
stock.

When an Item is selected, and the user uses the Add component:

1. The application will check if user has selected an item from the table, if not the
user will be warned

2. Next the application will display a pop-up dialog which will request a quantity
to be added to stock

3. If the user clicks cancel or closes the dialog, the operation should be quietly
cancelled

Page 23
OOD ICA – Semester1, 2024-25

4. User should only be allowed to input a quantity in the range one to a value
which would make stock equal to maximum stock level.
 Students can implement validation via an option list that displays integers
in the valid range.
 Alternatively, use a standard input dialog and providing additional code to
validate the input and display suitable warning dialog if needed.

5. If the input is valid:


 Stock level in the garment data structure is updated
 Stock column updated in the Table for the garment
 Confirmation of adding stock is displayed to the user
 Stock level is rechecked for the garment

6.5.4 Quit Operation [2 Marks]


When the user opts to quit or close the application, a confirmation dialog should be
displayed for the user to confirm their decision. If the decision is confirmed then the
contents of the main data structure should be written to an output file named
output.txt.

Page 24
OOD ICA – Semester1, 2024-25

6.6 Phase 4: Data Merger [6 Marks]

6.6.1 Posh Tees Toddlers


As part of expanding its range BBB is to also stock garments from a mail-order
business Posh Tees Toddlers (Posh Tees). A sample file data file name
PoshTees.txt has been provided and is available to students on Blackboard.

Figure 6. Contents of PoshTees.txt data file.

The structure of the data file is different to that used by BB. Posh Tees specifies the
following tokens are on each line:

 LABEL – Producer of the item

 PRODUCT – Name of the item

 SIZE – Age range in months for the item

 PRICE – Price of the item in pounds (and pence)

 NOTES – Description of the item

 STOCK – Quantity of how much stock there is of the item

 STOCK CODE – Posh Tees Toddler ID for the item

The stock code consist of three letters (derived from the label) followed by four digits.

Page 25
OOD ICA – Semester1, 2024-25

Posh Tees have also provided a data class named PoshTees.java for which Table
5 shows a class diagram.

Table 5. Class Diagram for Posh Tees Data Class


PoshTees
- label: String
- product: String
- size: String
- price: double
- notes: String
- stock: int
- stockCode: String

+ PoshTees(String, String, String, double, String, int, String)


+ getLabel(): String
+ getProduct(): String
+ getSize(): String
+ getPrice(): double
+ getNotes(): String
+ getMaxTemp(): int
+ getStock(): int
+ increaseStock(int): void
+ decreaseStock(int): void

The Data class is classed as complete and should not be modified.

6.6.2 Using new data


Deploy a suitable design pattern to allow the application to run with both BBB and
Posh Tees data. This will require a copy of the Posh Tees data class to be added to
the project and one additional new class to be created. Either a modification of the
existing load data method or coding or a new load method will be also required.

Page 26
OOD ICA – Semester1, 2024-25

6.7 Phase 5: Quality Control [6 Marks]

6.7.1 Javadoc [3 Marks]


Write and generate Java doc for the following classes

 BBB Data Class (Phase 2)


 Table Model Class (Phase 2)
 Class created for applying design pattern (Phase 4)

Test that the appropriate Java doc can be viewed.

6.7.2 Junit Testing [3 Marks]


For both valid and Invalid cases, write JUnit Test s() for following:

1. Phase2: Data Loading


2. Phase3: Check Stock
3. Phase4: Adding Posh Tees data to main data structure

6.8 Additional Requirements

Some phases will be marked by testing in runtime. Therefore students should Ensure
that the application clean builds and runs. Also ensure the project is efficient:
 Only code class stated in the phases
 Ensure any important libraries are used
 No unsized variables, objects, methods and classes.

6.9 Submission

The assessment work for Task5 should be submitted before 4.00pm on Friday 13th
December 2024 (Week 12). A group submission link will be set on Blackboard,
meaning only on team member needs to submit on behalf of their team. If a team
wishes to be marked by demonstration, then they should submit their Task5 work
before the start of their Week 12 Lab session.

Page 27
OOD ICA – Semester1, 2024-25

7. Task 6: Reflection [15%]

7.1 Problem
Students are required to reflect on the different roles undertaken for Task 5. Students
can present their reflection in either in essay or report format. There is no need to
deploy a reflection model or include an appendices.

7.2 Sections
Regardless of format the reflection should include the following
 Cover Page (Template available on Blackboard)
 Introduction
 Team Leader Reflection
 Designer Reflection
 Tester Reflection
 Comparing individual and team working
 Use of AI
 References
 Peer Review

7.3 Content
For the role reflection sections, briefly describe one or two items of work you
performed for each role. Provide visual evidence to support your description. Discuss
what did you to make the role experience positive. Discuss any aspects that did not
work as expected and identify why.

For the comparison of individual and team tasks, identify an item of work comparable
to a work example previously discussed for each of the Team roles. For these work
items reflect whether overall you prefer working individually or as part of a team.

For use of AI follow the guidance at Appendix G.6. Citations and References should
be in the ‘Cite Them Right’ (Harvard) Reference Style. The Peer Review form is
available at Appendix H.

Page 28
OOD ICA – Semester1, 2024-25

7.4 Word Limit

Students should be aiming for a word count in the range 1500 to 2000 words. Any
submission over 2200 words will be scored zero for presentation component. There
is no penalty for word count being less than 1350 words, however it is likely than the
any such submission may not have sufficient content to pass.

The cover page, contents listing, footnotes, code listings, tabular data, headings,
captions, citations (within round brackets), references section and any appendices
are excluded from the word count.

7.5 Submission

The assessment work for Task4 should be submitted before 4.00pm on


Wednesday 8th January 2025 (Week 13). Acceptable file formats are DOCX, DOC
or PDF.

The filename of your reflection should be in the following format:

 surname-userID-OOD-Task6

For example:

 Rashid-u0018369-OOD-Task6.pdf

Page 29
OOD ICA – Semester1, 2024-25

Appendix A. Module Learning Outcomes

The following tables provide the learning outcomes for ‘Computer Technologies and
Operating Systems’ module.

Personal and Transferable Skills


1. Produce appropriate software documentation to communicate the
programming concepts and techniques underpinning their solutions.
2. Demonstrate a sound understanding of the Java API and the ability
to make good use of the information provided therein when building
solutions.
3. Attain teamwork skills through participation in a team-based
application development activity to solve a practical problem.

Research, Knowledge and Cognitive Skills


4. Analyse complex and/or incomplete problem specifications, justify
the design and technical methodologies used, and recognise and
argue for alternative approaches
5. Demonstrate a systematic and critical understanding of Object-
Oriented concepts, event handling and the development of
Graphical User Interfaces.
6. Select appropriate programming techniques, and Object-Oriented
concepts, and critically evaluate their effectiveness in a specified
scenario.

Professional Skills
7. Design and implement efficient Java solutions to unfamiliar problem
specifications and critically evaluate the processes and facilities
used in an autonomous manner.

8. Participate effectively in a peer review process and reflect on


own/team contribution.

Page 30
OOD ICA – Semester1, 2024-25

Appendix B. Key concepts


In attempting the ICA tasks, most if not all of the following concepts will be utilised.
 Console and GUI applications
 Input and Output
 Validation
 Selection and Loops
 Methods
 Command Line Menu
 Object-oriented programming techniques
 GUI creation using the Swing API
 Event handling
 Arrays and Array Lists
 Reading from input file(s)
 Writing to output file(s)
 Error and Exception Handling
 Design Patterns
 Testing
 Documentation
 Teamwork
 Report & Reflection writing

The learning materials will introduce students to most of the above. However,
students will be expected undertake research to gain specific knowledge to complete
the tasks. In addition students can make use of the services provided by the
University’s Learning Hub with regards to teamwork and written communication.
skills.

The use of any code not taught in the module must be referenced. Within Java
program files the reference is presented as a comment; containing the where code
was obtained, e.g., a URL, along with an explanation of the copied code. Within
written work, apply the ‘Cite Them Right’ variant of Harvard referencing style.

Page 31
OOD ICA – Semester1, 2024-25

Appendix C. Academic Learning Support

C.1 Independent Learning

The module is a postgraduate module and as such students are expected to


undertake substantial independent learning, for example:

 Reading lecture slides/notes before the lecture


 Watching any lecture recording in advance of the lecture
 Completing practical work before start of following practical
 Gaining academic skills through independent learning

C.2 TU Library

Students are expected to take up opportunities to gain academic skills in their own
time. For example, staff will not be teaching students on how to write a reflection,
instead students will need to make use of the library to gain reflective writing skills.

The library provides help through its Learning Hub:


 https://libguides.tees.ac.uk/learning_hub/home

At the Learning Hub there are three main sources of help:

1. Succeed Workshops: https://libguides.tees.ac.uk/workshops


2. Tutorials: https://libguides.tees.ac.uk/learning_hub/drop-ins
3. PASS: https://libguides.tees.ac.uk/pass

A calendar of workshops can be found at:


 https://libguides.tees.ac.uk/c.php?g=89233&p=4990709

Recommended Workshops to support Students on the first year of their MSc include:
Studying at a UK University; Academic Writing; Avoiding Plagiarism; Using
References; Report Writing; Reflective Writing.

Page 32
Appendix D. Marking Criteria

Tasks 1, 2, 3 and 5 (40%)


Programming Distinction Merit Pass Fail
Practice The code is written to a very The code is written to a good
It performs reasonably, Code is poorly written,
high and consistent standard, although not although not consistently. lacking in in structure. There
standard, elegantly always consistent. The code is written to a is little or no consideration
specified. The code is easy to reasonable standard, that other programmers
read and understand by The code is easy to read and although the author may may need to be able to read
someone other than the understand by someone not have always considered and understand the code in
original author. other than the original that others would need to
the future.
author. read and understand their
Comments are provided, code in the future.
clear descriptions of Few, if any, useful or
Comments are
algorithmic implementations provided, although it maybe Some of the requirements appropriate comments are
that are not immediately inconsistent in clarity or have been met. provided.
obvious by the code itself. usefulness.
Comments are present, The current code-base is
The code is clearly The code appears to be although they may be messy and would require
demonstrating that it is very generally easy to extend or inconsistent in their considerable effort to
easy to extend and maintain with little effort. usefulness or extend and/or maintain -
maintain. appropriateness. probably a complete rewrite
would be required.
It is not immediately clear,
or it looks like quite a lot of .
effort would be required to
extend and/or maintain the
current code-base

Page 33
OOD ICA – Semester1, 2024-25

Tasks 4 & 6 (30%)


Development Distinction Merit Pass Fail
Report Full (but concise) explanation of Technical authorship presents a Technical authorship presents a Technical authorship is below
the problem domain and the clear explanation of the clear explanation of the the standard expected of a
objectives of each task; clear problem; discussion/critique problem; discussion/critique Masters degree.
insight into main challenges. shows a good appreciation of shows a good appreciation of
main issues & objectives. main issues & objectives.
Unsatisfactory discussion of
Very good discussion of development work for any or
development work for the Good discussion of Adequate discussion of all of the applications. The
three applications. The content development work for the development work for two or content is irrelevant or too
is clearly selective and relevant, three applications. The content three of the applications. The general. Limited identification
in order to satisfy the word is relevant, Code Blocks are content is more general than or required changes, with
limit. Code snippets concisely discussed, and issues specific. Classes are discussed, either no or inappropriate
discussed and appropriate potentially raised. and issues potentially issues raised.
issues raised. identified.
Appropriate improvement Basic improvement identified,
Appropriate improvement identified. Some discussion of An improvement is identified, but not suitably discussed as to
discussed in terms of what benefits and changes Relevant for which a basic discussion of its benefits and or how it could
benefit it would bring. Relevant classes identified for changes. benefits and or changes is be implemented
methods identified for changes. Appropriate pseudo code provided. Suggestions to
Appropriate code suggested to suggested to implement the implement the change, lack If any figures and tables are
implement the change. change. detail.
provided, they do not support
Choice of figures and tables Good range of figures and Limited range of figures and the discussion and may be
compliments the discussion tables to support the discussion tables provided, lacking provided in lieu of discussion,
and are all appropriately with some attempt to number numbering and or captions. for example screenshot of code
numbered and captioned. and caption. with no discussion.

Page 34
Appendix E. Author, Presentation, Code
Layout and Documentation
For Tasks 1, 2 and 3, the student name and ID should be entered as the author
comment before the start of the main class. For Tasks 4 and 6 a cover page should
include the document title followed by student name and ID. For task 5 the name and
ID of all students in the team should be provided as an author comment before start
of the main class.

A console application gives limited options for user friendly presentation of output.
Students should look to make use of Uppercase/Lowercase, Line gaps, Indents and
Formatted Output to improve presentation. Students may apply simple borders, but
do check the task details if this is necessary. Do not use Font Metrics, attempt to
change text colour or import a third-party library to improve the output.

For GUI applications, the Frame should be sized so the user does not need to
change the size when application runs. Also the application should not automatically
resize when running. GUI components should be sized and sited to present a neat,
balanced and minimalistic layout. For text choose a size to suit the component
displaying it and its purpose. Avoid over use of large text sizes and or Bold. Only
hyperlinks should be underlined.

Always place a comment at the start of a class to describe purpose and special
feature of the class. Code layout should be as taught in class but if in doubt refer to
the Google style guide. Remember to make use of code groups, e.g., importing
libraries. Place a comment before the start of a code group and a line gap after end
of code group. Students will need to use their own judgment about appropriate
commenting and line spacing for code inside block statements, such as control
structures.

Page 35
OOD ICA – Semester1, 2024-25

Appendix F. Test Plan

For each programming task students should test that the task works as would be
expected. For tasks 1, 2 and 3 the stydents should construct test plans for each new
and or revised feature of the application. For Task 5 the tester for a phase produces
the test plan.

The test plan will use the following format, where each row is considered an IEEE
test case:

Test Description Values / Input Expected outcome Actual


Number outcome

Once the test plan has been completed, students should use it to check the design
and implementation. If any of the tests fail, the application will need updating and re-
test (keep the original entry that failed in the plan along with the new entry for the re-
test).

It is advisable to keep test plans, screenshots of testing and the code before or after
nay changes for use in the written tasks.

Page 36
OOD ICA – Semester1, 2024-25

Appendix G. Guidance for written work

G.1. Structure

The body of a report or essay is to be structured into sections and each section split
into sub sections. For essays section headers are optional, but advisable, there are
no formal sub sections in an essay. For reports, both sections and sub sections start
with a numbered header.

The Introduction is the first numbered section (i.e. 1. Introduction) and References is
the last numbered section Sections are to start on a new page.

Within a section the content is split into sub sections, for example usually the first sub
section of the Introduction is to state the purpose of the document, (i.e. 1.1 Purpose).
Sub sections do not start on a new page, unless there is insufficient space left on the
page for the new sub section header and first paragraph to be fully displayed.
Appendices are treated as sections but are lettered instead of being numbered.

G.2. Presentation

For written submissions, paragraph text should be no smaller than font size 12.
Captions can be smaller than paragraph text size, but headings should be larger. For
example: Bold and 18 for section headers and Bold and 14 for sub section headers.

All text, except captions, should be left aligned, use 1.5 line spacing. Ensure there is
full line gap after each paragraph. Use a sans serif font face such as Aptos, Arial
Calibri. Only underline text if the text is an active hyperlink.

Code listings, Figures, Tables and their captions are horizontally centred across the
page. There should be no paragraph text to the left or right. Tables are
captioned/numbered above the table. Code listings and Figures are captioned and
numbered below. If presenting a screenshot of Code or a Table it is captioned and
numbered as a figure. Numbering starts at 1 and is incremented sequentially
regardless which section the item is in.

Page 37
OOD ICA – Semester1, 2024-25

G.3. Spelling and Grammar

Ensure default proofing language is set to British English or English (UK).

G.4. Referencing
Citations and References should be in the ‘Cite Them Right’ (Harvard) Reference
Style.

G.5. Cover Page and Table of Contents


A cover page will be provided on Blackboard for students to use or to adapt for both
the report and reflection. The cover page is the first page of the document but should
not display a page number.

Reports, but not essays, require a Table of Contents. The table of contents should
start at the beginning of the second page of the report and lists the numbered
sections and sub sections in the report along with their page numbers.

G.6. Development Report Sections

Introduction Section
This section should provide the purpose of the report and an overview of the problem
for the task.

Analysis Section
Use this section, to explain the analysis undertaken on the problem and what
requirements were identified in terms of code, behaviour and testing. For example
retaining leading zero’s in binary numbers is a key requirement. Any research done
for the Analysis, can also be discussed.

Page 38
OOD ICA – Semester1, 2024-25

Design Section
Use this section, to explain decisions made in designing a solution to the problem. It
would be apt to present UML class diagrams of the Main and Data classes. Select
some of the requirements and present/discuss code designs (e.g. Algorithms,
Pseudo-code, Flow charts, etc.). In particular student should discuss their design to
retain leading Zero’s in binary numbers. Any research undertaken for the design, can
also be discussed.

Implementation Section
Discuss the implementation of the data class diagram into code; only one bitwise
service method needs to be discussed. Discuss how the designs for selected
requirements were implemented. Any coding research, can also be discussed.

In discussing code avoid presenting/discussing more than a few lines of code at a


time. If presenting code as text, caption and number the code as a Code Listing. For
example “Code Listing 1”. Body of Data Class; note this goes below the code. If
presenting a screenshot of code, it is captioned and numbered as a figure.

Testing Section
Discuss testing of the application regarding selected requirements. Each test should
have a (IEEE style) Test Cases, presented as a table. Tables are numbered and
captioned above the table. Provide screenshots of input and output to support each
test case.

Conclusions
Use this section to reflect on your experience of working on Task 3. If you had any
issues discuss these and explain how they were or not overcome. If you had no
issues, explain why this may be, for example describe previous programming
experience

Page 39
OOD ICA – Semester1, 2024-25

Use of AI
At present the University s development an use of AI template. Until this template is
available, students should under this section state

 No use of (generative) AI tools were used in researching, planning and writing


this report and development the solution

References
Use this section to alphabetically list references for any citations in the previous
sections. If you have no citations then state under the section header:

 No use of publish material or previous work was made use of in writing this
report and developing the solution.

Page 40
OOD ICA – Semester1, 2024-25

Appendix H. Peer Review Form


Overview

The last section of each student’s Reflection document, a completed peer review
form should be submitted. Simply copy and paste the below form into your reflection
and complete it. One mark will be awarded for correctly completed form

The Form

Teams Members
The student completing the form will be listed as Student A.

Name ID
A
B
C
D

Peer Rating
For each team member rate their performance for their turn in the three different
roles, their coding contribution and support given to the team.

A B C D
Team Leader
Designer
Tester
Coding
Support
Total

For each row award either two, one or zero. Total marks awarded to any team
member should be in range five to ten

Page 41
OOD ICA – Semester1, 2024-25

Appendix I. Submission
All assessment work must be submitted, to Blackboard unless specified otherwise,
before it is marked. When students test their programming assessment work, before
submitting, do ensure the NetBeans Project has the correct main class set. Also do
ensure the Project clean builds and executes using the specified version of JDK.
Failure to do so will lose marks.

If a student’s work been submitted but not yet marked, the student has the right to
make a revised submission any time before the submission deadline.

When submitting applications to Blackboard, archive the Project folder into a zip file
and submit the zip file. Always check before submission that the contents of the zip
file can be safely extracted before you submit. If when marking, the contents of any
submitted zip file cannot be extracted then the submission will be scored zero marks.

It should be noted that NetBeans has a feature to create a zip file containing the
Project.
1. In the Projects pane, select the project to be zipped
2. Click: File > Export Project > To Zip …

Page 42
OOD ICA – Semester1, 2024-25

Appendix J. Marking and Demonstration


Details of how the application will be marks in terms of code and runtime will be
made available on Blackboard through a rubric.

For the programming tasks, students have the opportunity of allowing Lab Tutor to
test and mark the student’s application during the IT Lab session, i.e. marking by
demonstration. Alternatively students may opt not to demonstrate and allow their
work to be marked after the specified submission week. There is no marking
difference if the application is demonstrated or not.

For the Demonstrations, no presentation materials or verbal delivery is required.


When the tutor is ready they will ask who wishes to demonstrate. When it is a
student’s turn they should approach the tutor, who will download the student’s work
from Blackboard and open the project in NetBeans. The code will be examined and
then application compiled and executed. Both valid and invalid input values will be
used to test the application

The advantage of demonstrating, is that the student will get instant verbal feedback
rather than waiting for feedback on Blackboard. During the demonstration, students
can record tutor comments and verbal feedback using their phone, but do let the tutor
know if this will happen.

Page 43
OOD ICA – Semester1, 2024-25

Appendix K. Extensions and Late Submission.


Students who face circumstances beyond their control may also be entitled to apply
for an extension. Such circumstances must be genuine, for example: illness, delayed
visa, family emergency, ‘Blackboard not being available’, ‘Logon problems’, etc..
Evidence may be required to support an extension request. The front page of this
document has details about extensions.

Do note that extensions will not be granted simply to ‘give more time’, ‘work related
reasons’ or ‘failure of students own IT equipment’ i.e. there must be a genuine
reason and evidence provided when applying.

If a student is not eligible for an extension, they can submit their work up to seven
days after the specified submission date and time. Such submission are known as
late submission and capped to a maximum of 50% of the available marks.

Students should note that the Demonstration option will not be available for any
extended or late submission.

Page 44

You might also like