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

  Analyze advantages and disadvantages of erp implementations

Analyze the advantages and disadvantages of ERP implementations as a method of reuse?

  Describe roles and responsibilities of a software architect

Describe the roles and responsibilities of a software architect. Describe a software architect's involvement in requirements analysis.

  What do you think is the most appropriate life cycle

What do you think is the most Appropriate Life Cycle Approach from X_tream programming,Spiral or incremental What is the advantage of this approach for this project?

  Problem on software requirement

Use the Logisim simulator to create your circuits - Problem on software requirement

  Why the testing of software products is of great importance

Compare and contrast at least three different software development methods. Explain why the testing of software products is of great importance.

  Why should attackers go through all of the trouble

Why should attackers go through all of the trouble of finding security holes in a system, and exploiting those holes, when they can drop a flashdrive.

  In this class weve stressed the importance of various

in this class weve stressed the importance of various system analysis and design tools and techniques. by now you

  Process of developing a mobile application

Assume you are a software developer or system analyst and you are in the process of developing a mobile application. Speculate how societal mores and social media impact the design of human-computer interaction in your mobile application developme..

  Visit the bplans website to review one of the following

visit the bplans website to review one of the following business plansfranchise sandwich shop business planpizzeria

  Show functional requirements of effective personal trainer

CIS 203 Systems Analysis and Design Assignment - Create the use case document/diagram to show the functional requirements of Effective Personal Trainer

  Create class-responsibility-collaboration cards

Create Class-Responsibility-Collaboration (CRC) cards and a class diagram based on the functional models through the use of graphical tools in Microsoft Word or

  Write basic programming logic

Write basic programming logic and Apply business information software for data visualization and analysis purposes - Interpret and construct representations

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