You are on page 1of 36

ASSIGNMENT 2

Qualification BTEC HND Diploma in Computing and Systems Development

Unit number and title Unit 41: Programming in Java

Assignment due Assignment submitted

Learners name Assessor name T Hoi Vit

Learner declaration:
I certify that the work submitted for this assignment is my own and research sources are fully acknowledged.

Learner signature Date

Grading grid

P2.1 P2.2 P3.1 P3.2 P3.3 P3.4 P3.5 P4.1 P4.2 P4.3 P4.4 P4.5 M1 M2 M3 D1 D2 D3

Assignment title Assignment 2: Design, implement, test, and document Java solutions
In this assignment, you will have opportunities to provide evidence against the following criteria.
Indicate the page numbers where the evidence can be found.

Assessment criteria Expected evidence Task Assessors Feedback


no.

LO 2. Be able to design Java solutions

2.1 design a Java


programming solution to a - Requirements specification
given problem
1
- Program design
2.2 explain the components
and data and file structures
- Technical documentation
required to implement a
given design

LO 3. Be able to implement Java solutions


3.1 implement a Java
programming solution based
on a prepared design
3.2 define relationships Classes and their features e.g., classes,
between objects to attributes, methods, control of scope of
implement design attributes and methods
requirements
Complexities e.g., inheritance,
3.3 implement object aggregation, association, polymorphism
behaviours using control 2
structures to meet the Use of conventional language
design algorithms commands; use of library classes; pre-
3.4 identify and implement defined e.g., class libraries, downloaded,
opportunities for error imported
handling and reporting
3.5 make effective use of an
Integrated Development
Environment (IDE) including
code and screen templates

LO 4. Be able to test and document Java solutions


4.1 critically review and test
a Java programming solution Mechanisms: methods e.g., valid
declarations, debugging code, checking
4.2 analyse actual test naming conventions, checking
results against expected functionality against requirements, error
results to identify detection, error messages, compiler
discrepancies errors, runtime errors, in code response,
4.3 evaluate independent dry running
feedback on a developed
Java program solution and Feedback: Record feedback, e.g.,
make recommendations for surveys, questionnaires, interviews; 3
improvements analyze feedback; present results
4.4 create user Supportive documentation: test plan,
documentation for the test results; programmer guidance; user
developed Java program guidance
solution
Review:Design against specification
4.5 create technical requirements, interim reviews
documentation for the
support and maintenance of
a Java program solution.

Assessment criteria Expected Evidence Feedback


(note on Merit/Distinction if applicable)
Merit descriptor No. (M1)
Merit descriptor No. (M2)

Merit descriptor No. (M3)

Distinction descriptor No. (D1)

Distinction descriptor No. (D2)

Distinction descriptor No. (D3)

Summative feedback:

Assessors Signature: Date:


Task 1:
After finishing the software, we will begin to review the process of implementing the software and how
it works. The first thing to consider is inputs and outputs.

Inputs and outputs in the software:


First, we have to decide on the choice of that inputs will be stored on the database.

Here we select SQL server software as a place to store information. We have created a database
named StudentManagement. This is a general database will contain all the data taken from the
student management software.

In StudentManagement will contain data tables for each different source. Example: Student,
Major, Batch, Course, Term, Exam,...
Next is how the data will come from the software how to bring up the database. We have
created the data entry form to be used for the inputs.

And for the required information is taken from data available, users will have to choose in the
Combobox.
Enter your user data will be stored on the database and the user wants to view the data will not
need a database that attaches directly to the software through the table.

So we saw the application inputs and outputs through the process of software. Now we're going to
talk about the process that we implemented this software.

Processing:
_ First, we selected the software will use. Here we use Esclipe and SQL server.

_ Then we began to analyze the work that needs doing, the functionality of the software is, the data will
be in the software and start the writing software.

_ First, we begin to design the basic data for the table in the database.

_ Then we began designing the class corresponding to the data already on the database.

_ We started testing the software when no graphical interface to check the data contained class works
well.

_ Then we began to design the basic graphical interface and the largest class of the Student software and
its functions.

_ We will decide the functionality of the software and implementation code. After you have finished a
class code first student with enough functionality.

_ We began implementing expansion through class software with similar functions. Use of Student and
function have been modified to extend other classes.
_ After we did the same as the Student class we started trying to create a connection between the
development board and the extra points to students.

_ After the software has stabilized and gradually improved. We started taking steps last inspection.

_ And finally we test the whole software and its functions. And it was great success.

_ One of the hard work is designed graphical interface for the software.

User interface:
+ We realize complicate the GUI will not be enough time for the completion of the software. So
we have decided to create a simple graphical user interface, but easy to use.

+ Graphical user interface is not much color but use common interface for the software is
FlowLayout.

+ Simple interface with menu system 6, respectively, with 6 data fields need to manage.

+ Each menu will have the corresponding functions to manage such as add, view.
+ And when viewing the data contained in each
field, there will be sub-menu functions to
manage at the bottom helps the user can delete,

update and search data.

+ Front frame "Search" will be a box for users to enter data, entering and click search will find out
information. Click cancel will exit the search command.

+ Update and Delete with the same usage. When a user selects a row in the table corresponds to
one object and click update or delete. That Objects will execute the command.

+ Next is the data entry form. Will be the framework for the user simple text field data entry.
Press ok to agree and cancel to exit. In addition there will be some Combobox for the user to
choose the data available.
+ This is the way we design the interface. Next, is that we met a lot of difficulties in creating
software.

Difficulties Obstruction Solution


Hardware platforms We only use eclipse for the We have tried to install some
first time the code and use a plugins to add back to Esclipe
database to store data hardly in creating GUI. SQL Sever
new. real choice for the right
because it is fairly easy to use
and has many sources for
reference.
Timescales for development Too many new things to do Non-stop race and final race
and time for both work and we had finished. It's tired and
report writing software is happy.
quite urgent.

Next, after the design software we immediately think of the device on which the software can be
used.
Delivery Environment:

Name of delivery Possibility How


environment
Mobile Yes Design and the simplicity of it
perfectly suited for use on
mobile. Even if good
improvement smartphones
will also no longer a
hindrance.
Hand-held No It's pretty hard to become a
shrink management software
for handheld devices.
Handset can supplement to
manage some of the features
in the software, not all.
Web Based Of course not This is not for web. The
interface and the way to use
is not design for web.
Desktop Yes This software created for the
primary purpose of running
on the desktop.

Next its how people point for the interaction of the software:
Name of the interaction point Grade
Data exchange

Compliance

Compatibility
Standards

Program design:
Class diagrams:
Structure diagrams:
Entity relationship models:
Data flow diagrams:
Class responsibilities:

Class name Responsibilities


Application Contains the main function and methods.
Used to run the program.
Batch Declare Batch data type
Course Declare Course data type
Student Declare Student data type
Term Declare Term data type
Exam Declare Exam data type
Major Declare Major data type
GradeType Declare GradeType data type
DataAccesLayer Expose interactive methods directly on the
database. Add, update, view, delete.
DbConnection Used to connect to the database
GUIInput Used to create an interface for input tables
and update tables.
StudyManagement Used to create a new function for Student is
to add grades and courses.

The components and data file structure required to implement:

Variable Names used in the application:

Variable Name Data-Type Java Statement


StudentID String private String id;
StudentName String private String name;
StudentPhone String private String phone;
StudentEmail String private String email;
Major Object private Major major;
Batch Object private Batch batch;
termID Int private int termID;
termName String private String termName;
startDate Date private Date startDate;
endDate Date private Date endDate;
Task 2:
All software will be compressed in the rar file and sent along with the report.

Next I will show you how the program work and how to use it:

First of all is the Main Menu:

Items to manage will appear at the top of the menu bar.

Hover over the student text in the menu and the menu bar will pop out the function for you to
choose:
When you select the add function, a pop-up field will be displayed:

Next when you have filled out the information. Click ok to add students to the list or cancel to
exit the information entry.

Once you have filled in the information and hit ok. The software will list all students.
+ And the interactive menu bar that contains the extra functions will appear below. Include
search, delete and update.

+ If you want to search the name of the student you want to search and click search and click
cancel to exist the function.
+ If you want to delete select a row in the table containing the student you want to delete and
press delete.

+ If you want to update a student, select the row containing the student you want to update
and click update. The information table containing the student's old information will be
displayed, edited and click ok to update or press cancel to exit the command.

+ If you want to add a subject and grade to a student, select the row containing the student you
want to add the subject to and click on the management menu in the menu above.
+ After you click the management menu, a table containing the student information and the
students that you have studied will appear.

+ Clicks enroll to add the subject, score and exam date for that student.
+ Select subject and grade, test date and press ok. Click cancel to exit.

+ Next is the Major, Course, Term, Batch and Exam categories will have the same use as
Student

+ When you click add will appear information panel to enter ok to agree to add and cancel to
exit.
+ When you add finished, there will be sub-menu underneath like the student and the same
usage as the student.

+ Hit the red x on the right to switch off the software.

+ There will be some cases where the user will enter a bug and the software will report a bug to
the user.

+ When the user entered the wrong studentID structure the software will report an error.
+ When the user does not select rows in the table but use the delete or update functions. The
software will report an error that the user has not selected the row in the table to manipulate.

+ Once you understand how to use the software we will show you how we design the database.
Student:

Batch:

Course:

Enrollment:
Exam:

Grade:

Major:

Term:
+ Because we have included this report with the same code so we will only code the Student
class. Because classes have similar functions:

Add students:

Interact with sql server:


View Students:

Interact with sql server:


Delete student:

Interact with sql sever:


Update student:

Interact with sql sever


+ And finally, the indispensable part is the libraries that we have used and the purpose of those
libraries:

Task 3:
4.1 Criticall review and test a java programming solution:
The software has been tested and tested for functionality. Here are the remarks:

+ Interface: software interface is quite simple, but the color is too boring. Should add a bit of
color to contribute to the beauty of the interface. Interface should be edited to be more beautiful and
eye catching.

+ About the function: The functions of the software are quite clear and easy to use. The functions
are quite adequate, the management of data on the database is quite good. But some functions are still
lacking. There are not enough delete functions for variables. But software almost meets 80% of the
demand.

+ Friendly: Interface and usage are simple and accessible.


4.2 Next we will talk about software testing methods:

Test Case Expected Result Actual Results


Input Checking and The software will issue an Yes. The software reported
Validation error when the user enters an error when I tried to enter
the wrong id or does not the wrong id and did not
select the table row to select any rows but still click
perform the delete or update delete and update.
function.
Database checking Check when the student, We tried to add information
major, batch, exam, course, to all the fields included in
term, the information is the software and all were
added to the database. And added to the database. We
then update the information tried updating and the
on the database also information on the database
changes. And when deleted, changed. We delete students
students also disappear. then the student on the
database has also changed.
Check the operation We try to click on all the All add, view, update, search,
functions. function buttons on the delete functions work well.
software and see if it works Except the point
as expected. management of students still
malfunction we still can not
add points.
Check interface The interface should display The interface was correctly
exactly what we want. displayed.

4.3 After the software was working well, it was time for us to get feedback from users
and suggestions for software development.
+ First, software needs more testing on input data. Do not leave too much space in the data cells.

+ Second, the interface needs to be improved. Still simple but eye catching, more subtle and
modern. The interface is so bad now.

+ Why only Student is deleted and all other fields are not. Add the delete function to other fields.

+ The software is still bug in adding marks . This needs to be modified to improve the software.
4.4 It's time for the software to be delivered to users and we need to guide them to use
it.

Software manuals:

+ First run the software.

+ Then select from the 6 menus at the top to interact.

+ When view or add in any field, all the fields of that field will be displayed. And other interactive
features will appear below.

+ If you want to search in the table enter the letter you want to search in the frame before the
Search button and press Search.

+ If you want to Delete or Update then select a row in the table and then click Delete and Update.

+ When Update, the old information will appear in the form panel and when new information is
entered click ok. New information will be updated.

+ When click add function will pop up the table to enter information and combobox to select the
information.

+ Hit the red x at the right to switch off the softwar


4.5 And we will also leave notes so that later when software is transferred to others it
will be easier to manage.

_ All functions are arranged in the Application. Functions follow the name. For example, Update will have
a series of updates side by side.

_ Each Student, Major, Batch, .. fields has its own variable declaration class for editing.

_ Database related functions are available in the Dbconnection class.

_ Each fields, when entering information, has a GUIInput for change and correction. For example: Add
major will have GUIMajorInut, add Course will have GUICourseInput. And these update functions will
inherit the update information.

You might also like