Product Ordering System and Design Document
In the first Individual Project, you will be laying the groundwork for all of the work in this course. You will do the following:
- Select a company and one of its products for which you will be creating an online ordering system. Get your instructor’s approval for your selections.
- Install the required software.
- Install the provided skeleton ordering system.
- Customize the skeleton ordering system to meet your requirements.
- Construct the shell document that will be your ordering system description.
- Describe your ordering system using Unified Modeling Language (UML) Use Case Diagrams.
Now that you have a better understanding of object-oriented programming, you will use this approach to develop your interactive Java program that supports a company of your choosing to sell products online.
In this Individual Project, you will represent the design for your application using the UML diagramming techniques called use case diagrams. Later in the course, you will use another UML diagram to help design and describe your program, a class diagram.
You will also be setting up the foundation design document outline that you will add to each week. The combined Individual Project assignments will be your final Key Assignment design document deliverable.
Throughout this course, you will also be working on several aspects of this application that will result in the final version of a functioning interactive Java program. Additional information and the deliverables for each Individual Project will be provided in the assignment description for this project.
The first step will be to select a company and product(s) that are real or fictitious as the target for your ordering application. This project will be used as the basis for each of the assignments throughout the course, and it should conform to the following guidelines:
- Nontrivial: The selected project company and products it sells should be realistic and only a few products (10 or fewer) should be described.
- Domain knowledge: You should be familiar enough with the company and the products that it sells.
Select a company and products that fit these requirements, and submit your proposal to your instructor before proceeding further with the assignments in the course. You should seek approval within the first few days of the course. Your instructor will tell you how to submit this proposal and what notification will be given for project approval. Your proposal must include the following:
- The name of the company
- A description of the products
- One specific product that you will use initially for your ordering system
- The name of the product, its possible colors, and the range of costs
1. Select a company and one of its products (see above).
2. Install the required software: Java and Eclipse.
You will need to download and install the following free software packages for this course:
- The Java Development Kit (JDK)
- The Eclipse integrated development environment (IDE). You probably will need administrator rights on your computer to do the installations.
Click here to download instructions on how to install the JDK and the Eclipse IDE. Note the JDK or IDE version may be old but the download instructions are still good for the current version.
3. Install the provided skeleton ordering system.
Now you will download and install the skeleton of a pizza ordering system. You will use this as the base for the ordering system that you will create for this course. Right-click on this link:PizzasRUsPhase1.java and use Save or Save As to download and save this file on your hard drive. The exact procedure may be slightly different depending upon your browser and your browser settings. Be sure to note where you save this file on your hard drive. Complete the following:
- Launch Eclipse.
- Click File > New > Java Project. Type “PizzasRUsPhase1” as the project name.
- Click Finish.
- In the package explorer window on the left side of the Java workbench, click the tiny triangle to the left of “PizzasRUsPhase1” to expand it. You should now see two items beneath PizzasRUsPhase1: a “src” folder and the “JRE System Library.”
- In the Eclipse menu bar at the top-right corner of the workbench, click the Restore Down button and resize the Eclipse workbench so that it occupies about half of your desktop.
- Open the folder where you saved your “PizzasRUsPhase1.java” file. If it is saved on the desktop, then you are already ready.
- Make certain that you can see both the Java file and the “src” folder simultaneously.
- Now, click-drag the “PizzasRUsPhase1.java” file and drop it onto the “src” folder. A file operation dialog will appear.
- Select “copy files” and then click OK. Restore Eclipse to the full screen.
- Click on the tiny triangle to the left of “src” to expand it.
- Click on the tiny triangle to the left of “(default package)” to expand it.
- Double-click on “PizzasRUsPhase1.java” to display it in the editing window.
Run the PizzasRUs ordering application by clicking Run > Run or by clicking on the Run shortcut button (the largest green circle containing a white triangle). You also can run the program by clicking on Debug (just to the left of Run). You should run the program a few times, typing in different responses and watching the responses.
4. Customize the skeleton ordering system to meet your requirements.
You need to create a version of the ordering system that is customized for your particular company and product. This will be the Java program that you will submit for this week’s Individual Project.
- Start Eclipse.
- Click the X to the right of “PizzasRUsPhase1.java” in the main editing window to close the display of the program.
- Click File > New > New Project to create a new Java project. This will be your customized version of the ordering system.
- Type the name of your company and Phase1 for the project name. You must spell the name as a single word with no punctuation (e.g., “PizzasRUsPhase1” or “MyCustomCarsPhase1”).
- Click Finish.
- In the Package Explorer, click the triangles to expand the PizzasRUsPhase1 program to the point where you can see the “PizzasRUsPhase1.java” file.
- Click the triangle for your new project so that you can see the “src” folder.
- Click on “PizzasRUsPhase1.java” and press Ctrl + C to copy the file.
- Click on the new “src” folder to select it. Press Ctrl + V to paste the Java source file into the “src” folder.
- Click on the triangle to the left of this “src” folder to expand it.
- Click on “(Default package)” to expand it.
- Right-click on the newly pasted “PizzasRUsPhase1.java” file.
- Select Refactor > Rename.
- In “New Name,” type your new project name.
- Use the identical name that you selected in the previous paragraph.
- Click Finish.
- Click Finish again.
- Click the tiny triangle to the left of your newly created customized program to view it in the editing window.
- Change all instances of “PizzasRUs” to the name of your company.
- Run your program.
- This first time you should see a “Save and Launch” dialog box. Click the “Always save resources before launching” box, and then click OK. Your program should run.
- If an “Errors in Workspace” message is displayed, it means that you have made a typographical error.
- Cancel the dialog.
- Find each red X on the left side of the editing window from the top-down, and correct each mistake.
- Once you have corrected all of the errors, all of the red Xs will have disappeared and you will be able to run your program.
Continue the customization process by updating other portions of the skeleton appropriately. For example, you need to add your name as an author and today’s date. You may need to update a few other portions of the program, such as changing or removing the message about the order being ready in less than 10 minutes. Be certain to test your program by running it after each change to the code.
You will need to make one addition to the program to request the color of the product that is being ordered. If your product does not have a color property, you may substitute any similar attribute that can be stored in a string. You will need to add a couple of string variables for this information. Follow the examples that already are in the program. You will need to prompt the user for a color. You might use a message such as “What color product do you wish to order?” You will need to display the name of the selected color just after the “Your return customer status is” message. Again, follow the examples that already are in the program. You will need to modify the greetingOutputMsg assignment so that it includes the name of the selected color.
Open an empty Word document. Run your program, and perform a screen capture of each dialog just after you have entered any required data. Paste these screen captures one after another into the Word document and save your document. You will need these screen captures for the shell document that you will create.
5. Construct the shell document that will be your ordering system description.
You need to create the shell document for the final Key Assignment project design document deliverable that you will be working on throughout the course. As you proceed through each project phase, you will add content to each section of the document, gradually completing the final project design document.
- Design document shell
- Use Word
- Title page
- Course number and name
- Project name
- Student name
- Table of contents (TOC)
- Use an autogenerated TOC.
- It should be on a separate page.
- Be sure to update the fields of the TOC so that it is up-to-date before submitting your project.
- Section headings (create each heading on a new page with TBD as the content, except for sections listed under “New content” below)
- Week 1: Project Description or Overview
- Week 1: Java Fundamentals
- Week 2: Java Control Structures
- Week 3: Error Handling and File Input or Output
- Week 4: Object-Oriented Techniques
- Week 5: Inheritance and Polymorphism
6. New content for Week 1.
- Project Description or Overview
- Give a brief description of the company (it can be hypothetical). Include a list and a description of the products (no more than 5) and their potential attributes such as size, color, and so forth.
- Material can be taken from the approved proposal that was submitted to your instructor.
- Be sure that your project is approved by your instructor.
- Describe your ordering system using UML use case diagrams.
- Use case diagrams
- Create a use case diagram to represent what your online ordering process will look like. Be sure to include the actors and the tasks for which they are responsible.
- Place the use case diagram in the Project Description or Overview section of your document.
- Include a narrative below the diagram to explain each of the interactions between the actors and tasks.
Use case system
Note: To complete this step, you will need to go through the UML tutorial in the M.U.S.E.
You may use any tool you wish to construct your UML diagrams. Word contains drawing capabilities that are perfectly adequate for this task. You can use Visio if you prefer, or PowerPoint is another option.
You may find it much easier, however, to use an application that is specifically designed for constructing UML diagrams. One of the best tools is Violet. Violet is as easy to use as Notepad, and it is free to use. Download Violet from this Web site. Select the .jar version rather than the .exe version. Place the .jar file anywhere on your computer that is convenient. Double-click the file and Violet will run. No installation is needed. You can also view a Quick Tour and a User Guide from the same Web site.
- Use case diagrams
- Week 1: Java Fundamentals
- Once your Java ordering system is running and has been modified to reflect the ordering information for your selected product, run the program.
- Perform a screen capture of each of the ordering system dialogs that are displayed during execution just after you have entered the requested information.
- Do not capture your entire desktop; only capture the runtime dialogs.
- Paste the sequence of dialogs into this section of your document with an appropriate title (e.g., “Capture of IP1 Runtime Output”).
- The output from running the skeleton program should look something like the following example. This example is only for a pizzeria ordering system with 5 dialog boxes that will display one at a time. This example uses “crust” rather than “color” for the additional customization attribute. Your output will have your selected company name and an additional attribute instead of the PizzasRUs ordering system.