CMS3405 Advanced Software Development Assignment

Assignment Help Software Engineering
Reference no: EM132496181

CMS3405 - Advanced Software Development - University of Huddersfield

Assignment Aims

To use the GUI components, event-handling, and thread management facilities provided by the Java class libraries to develop an interactive system for object manipulation; to apply appropriate Design Patterns in the design and creation of that software; and to explore Distributed Object Technologies as mechanisms for the further development of the system architecture.

Learning Outcomes:

This coursework assesses the following learning outcomes (listed in the module specification):

Critically analyse a range of techniques for advanced OO programming.

Evaluate methods for the development of real-time, concurrent, and distributed software systems.

Design and implement complex data structures, using appropriate methods of encapsulation, inheritance, polymorphism, and genericity.

Model advanced real-time, concurrent, and distributed software systems as sets of objects, and defend the appropriateness and consistency of the model.

Implement such models using event-based and object-oriented techniques as appropriate.

Implement contractual obligations and apply appropriate verification and validation techniques.

Assessment Brief

Background
A local college has decided to rent out its rooms during evenings, weekends, and holidays as a way to generate extra income. It hopes that local clubs and societies may be interested in booking rooms for meetings, rehearsals, to play games, etc. Management has decided that a software system is required to allow three Booking Clerks and one Room Manager to view the state of the system at all times. You have been asked to develop a prototype desktop system that uses a shared memory model (i.e. a concurrent system) to provide the functionality required.

Requirements You will need to:
• decide on the data structures to be used to model the state of the system.
This data model should capture the rooms, their size (number of seats), type (computer lab, tutorial room, or lecture theatre), and availability (each evening during term time, or AM/PM at weekends and during holidays).

• design a suitable user interface for use by the Booking Clerks. This should show the availability of rooms and allow the clerk to add details of bookings (who has made the booking, their contact details, and any notes about the booking). Search facilities should also be considered, for example to find all available computer labs on a specific evening, or all tutorial room on a specific (non-term-time) day.
• design a suitable interface for the Room Manager. This should allow the manager to add and remove rooms to/from the system, view the availability of rooms, mark rooms as unavailable (e.g. rooms to be redecorated or to have computer equipment replaced) for a period of time (days or weeks, as required) and to enter the term dates, such that the system can decide whether or not rooms should be available for bookings during the day.

You are free to choose whatever GUI components you consider appropriate for this system, and to use Java Swing or JavaFX. Appropriate use should be made of dialogs and reporting mechanisms, to maximise the robustness of your prototype.

In the long term the system is to be implemented as a client-server or distributed architecture, to allow the different users to access the system from different locations at the same time. However, for the initial prototype the system you create must be a desktop application with the different interfaces running in separate threads, and it must share access to the system data and update the interfaces in real time to show changes made to the system state by any active user.

Evidence to be Submitted and Weightings
You must submit a written (typed) report to contain the following:
• a discussion of the design of your prototype software system. This should include a detailed description of the data structures used to capture the state of the system, and a discussion of the role Design Patterns have played in the design of the software (i.e. which patterns have been considered, which have been adopted, and an evaluation of how well they have worked). It must also include a Use Case Diagram and a Class Diagram for the final system.
• a discussion of potential distributed or client-server extensions to the system.
This should describe in detail how a client-server architecture could be achieved (e.g. what middle-ware or object broker software would be used, with an updated software design to reflect this).
• a statement of the functionality you have implemented and the testing you have carried out. This should include JUnit testing (where appropriate) and full system testing.
• your Java source code, included in the report as an appendix.
• copies of your Git/GitHub repository logs, showing the commit stages of the development of the application. These will not be marked but are compulsory to allow me to see how well you have managed your development process, and how the code has developed over time. I can tell a lot by looking at these logs, and if there are any telltale signs that the code has not been developed by you then you will have a lot of explaining to do.

Attachment:- Advanced Software Development.rar

Reference no: EM132496181

Questions Cloud

Describe in detail the antecedent influences : Describe in detail the antecedent influences on Gestalt psychology?
Is amount of interest revenue recorded during a single month : The amount of interest revenue recorded during a single month on a 6%, 3-month note receivable will be the same as the interest revenue
Utilizing an ethical decision-making model : What are some of the advantages of addressing an ethical matter utilizing an ethical decision-making model?
Allocate the transaction price of among the performance : Assume that a customer purchases an oven with both installation and maintenance services for $1,400. Allocate the transaction price of $1,400
CMS3405 Advanced Software Development Assignment : CMS3405 Advanced Software Development Assignment help and solution, University of Huddersfield - assessment writing service.
How you might read to children of different ages : Describe how you might read to children of different ages and why you would use these strategies.
Explain how they relate to sensuality : Choose three senses and explain how they relate to sensuality. Give examples and not just definitions.
Explain at least two challenges counselors : Explain at least two challenges counselors might encounter when using Cognitive Behavior Therapy in group setting.
What is the answer to rigby company buys merchandise : What is the answer to Rigby Company buys merchandise from Shoshone Company with an invoice cost of $10,000 and shipping terms of FOB shipping point.

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