ProgettoSoftwareEngineering

Project work for SE. This is the project work developed for the Software Engineering exam. The objective of this project is to develop a DrawingApplication for drawing geometric shapes. The developed application supports basic operations such as drawing, inner color, outer color, Re-sizing, cut, copy, paste and delete shape; operations on the Stack containing ,previous changes made to the drawing surface, and Undo operation in order to undo those changes. The DrawingApplication also offers the ability to perform grouping of multiple shapes as a single component that can be used on the drawing surface, and the ability to Save a drawing or to Load a drawing previously done and saved. The DrawingApplication has an intuitive interface, the elements are arranged so that the user is instinctively guided to them avoiding excessive effort in searching for them, so that when faced with familiar elements they already have some expectation of them. In the "Standard Interface" there is a drawing surface where the user can draw shapes, a list presenting the shapes and their colors. The following options will be shown to the user : saving and loading a drawing file , Undo to undo one or more changes, Zoom of the drawing surface. The user will be able to draw polygon shapes containing text, on these shapes he can perform operations such as rotation, mirroring and stretching. The user must be able to add new "shape creation commands" to the application: the user selects a shape and gives it a name; later, when he or she executes the corresponding shape creation command, the program adds a new copy of that shape to the drawing.