代写一个灵活度很高的应用程序,至少完成给定的基本功能。
Project Description
In a group of 2 - 4 students, you are required to implement an inventory
application containing basic functions that facilitate users to accomplish
their tasks. Broadly speaking, the inventory application should be able to
perform two major parts, core and advance. The core part contains functions
that are essential for the system and is strongly advised you should complete
first. The advance part requires you to do research on your own and the
functions are
more difficult to complete.
Both core part and advance part require you to do research as they may not be
discussed during classes and labs. More hints on core part will be given to
you.
Core Functions
- Reading an inventory file (in XML format) to the system. For the inventory file to be read, you may consider it is fixed in terms of its filename and location.
- Display general lists of inventory items according to their characteristics like “category”, “in_date”, “exp_date”
- Display a detailed view for a selected inventory item showing all of its available details obtained from the inventory file.
- Build a user-interface that allows users to modify data of an inventory item.
- Develop an appropriate graphical user interface (GUI). If you cannot develop a GUI, develop a console application. Marks will be deducted but it would not be disastrous.
Advanced Requirements
- Output an inventory file with latest update (in XML format) named as “inventory_ddmmyy”. The output should not replace the original inventory file that you have read to the system. The ddmmyy refers to the date that the file being created.
- Generate a pdf file that contains a list of inventory items of a selected category and their details including quantity and unit price.
Besides the application itself, you are required to produce a documentation
that illustrates the flow of your application.
Documentation
- Produce a short report (max 5 pages) that illustrates the design of your program either by flow chart or by pseudo code.
- Produce a brief user manual (max 10 pages) that illustrates functions available of your application. Your user manual should include LOTS OF pictures that help illustrate your ideas.
Marking Criteria
For programming part (core + advance), within that 80%, marks are briefly
distributed in the following manner:
- Functionality (55%)
- Flow of program (15%)
- Formatting: naming convention and indentation (5%)
- Comments (5%)
For documentations, each item carries 10% and will be evaluated in the
following manner: - Clarity and completeness (8%)
- Formatting and style (fonts, table of contents, etc.) (2%)
Preparation
To prepare for your work, during the holidays, I strongly recommend you to
take a look the following things:
- Array structure (will be discussed later)
http://www.tutorialspoint.com/java/java_arrays.htm - Study the following link to see how to read data from an XML file to an application.
https://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/ (1:
DOM XML Parser Example) - Study the following link to see how to create an XML file with data
http://www.mkyong.com/java/how-to-create-xml-file-in-java-dom/ - Study how iText (the pdf creator) works
[ http://howtodoinjava.com/apache-commons/create-pdf-files-in-java-itext-
tutorial/ ](http://howtodoinjava.com/apache-commons/create-pdf-files-in-java-
itext-tutorial/) - If you wish to produce a pdf file, you need an external library called iText.
You may download the file from Canvas in the Project Page. Steps to insert an
external library file to the application:- Save the itextpdf-5.0.6.jar to your project folder in your workspace
- Right-click project -> properties -> Java Build Path -> Add library
- Select itextpdf-5.0.6.jar
- Click OK
- Discuss job distribution and make sure everyone is aware of his/her responsibility
Dates to be remembered
- Prototype Demonstration (5%):
You are required to demonstrate your project during the lab sessions. The
prototype demo weighs 3 out of 15 of your project marks (15% of your term
mark). If you failed to demonstrate your project, you will simply get ZERO. - Final Product (10%)
Submit your final product (in zipped format) and 2 documents (in pdf format).