Create a uml diagram describing the required classes

Assignment Help Software Engineering
Reference no: EM134007227

Professional Software Development

Design and implement Sea++ using the design patterns discussed. This project may benefit from concepts related to Software Engineering and Object Oriented Programming.

You will design, using UML diagrams, and implement, in C++, the described solution. The assessment requires combining several design patterns to create Sea++, a fishing and seafood management application. The application is command-line based and does not require a graphical user interface.

Background:

Fisheries are community-owned resources and regulations exist to protect fish stocks and aquatic habitats.
Develop Sea++, an application that helps anglers determine whether they can keep their catch or if it must be returned.
Sea++ interacts with the user to gather catch information and determine what action should be taken.

Reference materials:
NSW FishSmart app resources
NSW fishing rules and size limits
Regulations data may be hardcoded, stored in a text/csv/json file, or implemented using a small database. Concepts from Database Management DBMS may assist in handling regulation storage and retrieval.

Sea++ Functionality:

An Angler opens the app and enters data about a catch.
The App acts as a Facade that manages interaction between the Angler and the system.
The App collects data including:
type of SeaCreature
size
whether it is carrying eggs or not
etc.
After validation, the App passes the data to the SeaPlusPlusEngine, acting as a Mediator between the App and the Checkers.
Data is checked by the appropriate Checker.
The Checker communicates with the SeaPlusPlusEngine.
The SeaPlusPlusEngine informs the Angler whether the creature can be kept or should be thrown back.

Required Classes (minimum):

App (implements the Facade pattern)
SeaPlusPlusEngine (implements the Mediator pattern)
SeaCreature (implements an appropriate creational pattern)
VertebrateCreature
InvertebrateCreature
SeaChecker
VertebrateChecker
InvertebrateChecker

Part I: Create a UML diagram

Create a UML diagram describing the required classes and their interactions.
Any tool may be used, including hand-drawn and scanned diagrams, but they must be readable.

Part II: Implement in C++ code the design created in Part I

Write C++ code to implement the design.
Use good C++ practices.
Separate interfaces and implementations.
Each class should be in a separate file. You may also refer to C Programming and general Programming Assignment Project Solutions concepts while structuring the application.

Part III: Extend the design with at least TWO meaningful additions

Possible additions include:

Add a Bag that can contain multiple SeaCreatures of various types, and a BagChecker that validates it.
Add FreshwaterCreatures in addition to SeaCreatures.
Add a SeaPlusPlusInfoSupplier class and supporting subclasses to read information from text/csv/json files.
Add the ability to load/save Anglers and their associated Bags.
Other additions may be proposed with instructor approval.

Modify:

UML diagram (15 marks)
C++ code (15 marks)
according to the chosen extensions.

Part IV: Reflect upon and document your experience

Write a short document covering:

Experience with initial design and implementation
Experience extending the design
Whether design choices in Parts I and II made extension easier or harder
Difficult aspects of the project
Rewarding aspects of the project
Lessons learned from undertaking the project

Submission Requirements:

Submit a zip file containing:

Two UML diagrams (Part I and Part III)
Two zip files containing C++ files for:
complete version of Part II
complete version of Part III
One reflection document (Part IV)

Reference no: EM134007227

Questions Cloud

Define the three levels of police-citizen encounters : Describe/define the three levels of police/citizen encounters and the necessary legal justification required for each of them.
Prepare the closing entries at december thirty first : Owner's capital $30,400, owners Drawings $1,900, service revenue $48,00, salaries and wages expense $25,400. Prepare the closing entries at December 31.
Determine the tax to be withheld by the firm on investment : Determine the tax to be withheld by the firm on the investment income payable to Professor.
Determine the tax liability : Dizzo Limited is a manufacturing company located at Kumasi. Determine the tax liability if in the year 2017 chargeable income of GH¢100,000 was made.
Create a uml diagram describing the required classes : CSE5008 Professional Software Development, La Trobe University - Design and implement Sea++ using the design patterns discussed
How much deduction will the company be entitled to : Assuming 0.8% of the total workforce of the company were fresh graduates, how much deduction will the company be entitled to?
Compute the withholding tax payable by adamu ltd : The above transactions relate to payment for goods in January 2019. Compute the withholding tax payable by Adamu Ltd.
Neural tube defects : NEURAL TUBE DEFECTS-Does the use of contraceptives contributed to NTD? Explain. How can you support parents with a baby diagnosed of NTD?
What cash amount is paid to reduce notes payable in year two : Assume that no additional notes payable are issued in Year 2. What cash amount is paid to reduce notes payable in Year 2?

Reviews

Write a Review

Software Engineering Questions & Answers

  Research report on software design

Write a Research Report on software design and answer diffrent type of questions related to design. Report contain diffrent basic questions related to software design.

  A case study in c to java conversion and extensibility

A Case Study in C to Java Conversion and Extensibility

  Create a structural model

Structural modeling is a different view of the same system that you analyzed from a functional perspective. This model shows how data is organized within the system.

  Write an report on a significant software security

Write an report on a significant software security

  Development of a small software system

Analysis, design and development of a small software system.

  Systems analysis and design requirements

Systems Analysis and Design requirements

  Create a complete limited entry decision table

Create a complete limited entry decision table

  Explain flow boundaries map

Explain flow boundaries map the dfd into a software architecture using transform mapping.

  Frame diagrams

Prepare a frame diagram for the software systems.

  Identified systems and elements of the sap system

Identify computing devices, which could be used to support Your Improved Process

  Design a wireframe prototype

Design a wireframe prototype to meet the needs of the personas and requirements.

  Explain the characteristics of visual studio 2005

Explain the characteristics of Visual Studio 2005.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd