Edudorm Facebook

develop a programmatic solution, using the Java programming language, to a specific problem

Questions and Topics We Can Help You To Answer:
Paper Instructions:

3.4.4.1 Your Task: For this assignment you are required to develop a programmatic solution, using the Java programming language, to a specific problem as detailed below. You will be required to demonstrate the completed work to your tutor in order to receive a mark. During this demonstration your tutor will examine your solution and also ask questions about how the work was undertaken, and any difficulties that you had. Any awarded mark is for the demonstration and explanation of the work, rather than for the submitted work itself. 3.4.4.2 The Problem: The overall aim of this assignment is to implement a Free Drawing and Click-based Graphics tool. This must be built as a graphical application using the Java Swing and/or AWT classes. The software will allow users to click around a virtual canvas area causing a specific shape to be drawn with specific parameters, ex. a rectangle with width and height. The user must enter the parameters (height and width) or should be able to specify these by clicking and dragging the mouse. The application will allow the user to draw freely on the canvas using the mouse as a pen. The shapes vary between regular a 2d shapes (circle, pentagon, hexagon, octagon) and 3d shapes (Cuboid, Cube, Sphere etc.). The 3d shapes can be drawn using a collection of 2d shapes, (ex, a cuboid is a set of rectangles, please note that these should be made ready for the user, i.e. it is your task as a programmer to put these shapes together to make a cuboid). The final product should be a fully working application which includes a typical application window (with the canvas), containing a menu bar. The application must have and command textbox for typing a drawing commands with dimensions along with three text boxes (to specify the shapes dimensions, we will refer to these as the dimension textboxes) these will be used with the mouse drawing activities and not with the command drawing activities. The layout is left to the student to decide but it should make the application easy to use and appealing. As well as implementing a programmatic solution to the defined requirements, you are required to submit a graphical representation of your final solution as a Unified Modelling Language (UML) class model. The class model should show all classes used in your solution, along with all attributes and methods which you have written. Although classes used from 2017/18 Module Handbook 12 the Swing library should be shown there is no need to display their attributes and methods. You will be provided with a starter project, representing the skeleton of the full-fledge project, which you can build on to develop the full-fledged project. The starter project contains some of the main objects declaration and their functions prototypes. Part of the implementations will be covered during the online sessions, while the rest of the implementation details will be left for the student. Attending and actively participating in the sessions should help in this task since most of the needed functionalities will be covered throughout the module lectures and the assignment is linked with the lectures. 3.4.4.3 Requirement 1: The first requirement is to develop a simple GUI which contains an outer window (frame), a canvas drawing area, a console type text input area (to draw using commands input in the text box), a menu bar and a set of three text box to provide the shape’s parameters if necessary. The menu bar should contain at least a ‘File’ and a ‘Help’ menu. The ‘File’ menu should contain the options “New”, “Load”, “Save” and “Exit”. The ‘Help’ menu should contain an “About” option. The application window should be resizable by the user. For this first requirement the menu options should simply act as stubs, later requirements will provide the actual functionality. When selected each option should pop–up a dialogue saying that the option has been selected. 3.4.4.4 Requirement 2: The second requirement is to implement some basic functionality to allow drawing. The users should be able to either type some specific commands to draw on the canvas or to click a set of buttons within the app area in order to draw on the canvas. The “New” menu option should cause the canvas to be cleared. The commands that the user can input in order to draw a shape are very explicit and MUST match those shown in the following table. Commands for drawing Desсrіption Pen-up Lifts the mouse pen, so that typed commands (and free mouse dragging movement) do not draw anything on the canvas. 2017/18 Module Handbook 13 Pend-own Sets the mouse pen on, so that typed commands (and free mouse dragging movement) draws on the canvas. rectangle, circle, square, pentagon Draws the respective 2d shape (ex if the user type square 2 1 then a square of 2x1 cm2 is drawn) cube, cuboid, sphere Draws the respective 3d shape (ex if the user type cuboid 2 1 2 then a cuboid of 2x1x1 cm3 is drawn) Reset Resets the canvas to its initial state, i.e. clear the canvas. The mouse functionality that the user can utilise is shown in the following table Buttons and Click combination Desсrіption Drag with shift Straight line is drawn. 2D Shape click (rectangle, circle, square, pentagon) Draws a specific 2D shape (ex if the user clicks on a rectangle menu then a rectangle with whatever dimensions in the dimension text boxes is drawn) 3D Shape click (cube, cuboid, sphere) Draws a specific 3D shape (cube, cuboid, sphere, etc.) Parameters Panel Provides extra information for the current shape to be drawn. For example, the circle diameter, the side length, the degrees etc. The parameter list should be changed during run time. The application should check and report any invalid parameter, for example, typing a text instead a numeric value. Colour Panel Sets the output pen colour to whatever colour is selected. Reset Resets the canvas to its initial state, i.e. clear the canvas. 3.4.4.5 Requirement 3: The main aim of requirement three is to implement the remaining menu options. The “Load” and “Save” should allow the user to select a file name via a dialogue box. The current image should then be either loaded or saved to a file. If the user attempts to load a new image without the current one been saved first then a warning dialogue should be shown to the user, which should provide the opportunity for the current image to be saved first. The “Exit” 2017/18 Module Handbook 14 and “About” menu options should also be completed. During exit a similar check should be made to see whether the user is attempting to exit without saving changes. 3.4.4.6 Requirement 4: The final requirement is to add some more advanced features to the application. This gives you a chance to extend your solution in a variety of ways. Several suggestions for features are stated below, however you are also free to add (sensible) functionality of your own which is not described here. You should aim to add at least Five additional features. The number of features, along with their complexity, will be used to determine the marks awarded. Additional features to consider: ▪ Use of graphical toolbar for common operations. ▪ Use of icons within the menus. ▪ Use of short-cuts for operation selection. ▪ Use of a status bar to show information such as whether the current image has been saved etc. ▪ Straight line rotated in the direction of the mouse drag (Drag with ctl.). ▪ Ability to print the image. ▪ Additional combination of readymade shapes that draw a skeleton for a cartoon object ex. “face”, “body” etc. 3.4.5 MARKING SCHEME / CRITERIA Each requirement you provide will contribute between 15 to 30 marks towards the final grade, a maximum of 75 marks are achievable for this assignment. A maximum mark for a requirement will only be awarded if it fully complies with the requirement, and you are able to discuss your solution with the tutor in a knowledgeable way. Specifically, each requirement will be judged as follows – Mark Criteria 0-39% The code submitted is a very limited implementation of the requirement, or the student is incapable of discussing the submitted work in any real detail. 40%-59% A program is submitted which provides a partially working, but incomplete, implementation of the requirement. The student is capable of explaining the submitted code. 2017/18 Module Handbook 15 60%-69% A program is submitted which provides a mostly working, with slight deficiency of the implementation of the requirement. The student is capable of explaining the submitted code. 70%-100% A commented program is submitted which can be fully explained by the student and fully implements the defined requirement.

1490 Words  5 Pages
Get in Touch

If you have any questions or suggestions, please feel free to inform us and we will gladly take care of it.

Email us at support@edudorm.com Discounts

LOGIN
Busy loading action
  Working. Please Wait...