The aim of this Assignment is to demonstrate knowledge about the analysis and design of a software system and understanding of the application of an object-oriented methodology.
For the system specified in Section II, you are required to produce a short assumptions statement and Rational Rose project file (any other format would be acceptable too) containing the analysis and design for this system, following the object-oriented methodology taught in this module (which is based on the Rational Unified process). These two requirements are detailed below and the percentage of marks for each is indicated.
This should contain, in a maximum of two A4 sides, any assumptions or modelling decisions that you have made in order to clarify or remove uncertainty from the system requirements specification (in Section II 'Assessment Scenario/Problem' below).
Analysis and Design:
The analysis and design should be carried out using Rational Rose to produce:
- A Use case diagram showing use cases for all the requirements
- A Use case description for each use case
- Sequence diagrams for each use case
- The Class diagram
include all attributes, operations and associations
- A State Machine diagram for one of the principal classes
Requirement Specification for a Simple Application to Model a Garden The following is a requirements statement for a simple application to model the design of a garden.
The required system has to allow a garden designer to construct a three dimensional model of a garden. The model will allow the designer, and any of their clients, to view the garden at any time in the future and from above or through any vertical cross section.
This will enable the application to simulate to a client what a person will see while in the garden as the garden grows.
The designer will be able to specify the shape of the garden based on a grid of squares.
Each square will be the same size. The size of each will depend on the detail of the garden shape. Once the garden shape is specified plants can be placed in the garden by the designer.
The plants can cover one or more grid squares, depending on their size and the size of the grid squares. Plants will be assigned an initial height and radius. Plants will also be assigned growth rates for height and radius. The Growth rates can be entered for each season (spring, Summer, Autumn, Winter) and the soil type (sandy, clay, silt, loam, chalk, or peat). However, one growth rate for height and one growth rate for radius can also be assigned, or rates can be assigned that are independent of either season or soil type. Each grid square will be assigned a soil type.
The designer can remove or change any plants in the garden and adjust the plant parameters in order to optimize the garden layout.
Once the garden layout has been completed the garden and plants can be viewed at the initial time or at a given time in the future. In the future the plants will have a size calculated based on their growth rates in height and radius.
Your analysis of the Garden Application will not include any interface classes but your model classes should allow the straightforward construction of an MVC interface.