Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Software Engineering Expert

Analysis, design and implementation of a train management system for Rivendell Trains

I. Assessment Requirements

The aim of this assignment is to demonstrate knowledge about the analysis, design and implementation of a small software system according to the specifications given below.

You are required to produce an executable solution of your software and a Rational Software Architect project of the analysis and design. These two parts are detailed below and the percentage of marks for each is indicated.

Software Solution

Your submission should be a compressed folder (.zip or .gz) of the complete project, including all source code that you have written and a development report. When the files are extracted, the project should compile and run. Make sure any extra file needed to run is included.

Analysis and Design

You are required to produce a Rational Software Architect project file containing the analysis and design for this system, following the object-oriented methodology taught in this module. The project should be compressed together with the software solution and development report. The compressed folder should be uploaded to the appropriate NOW dropbox.

II. Assessment Scenario/Problem

1. Introduction

You are a newly recruited analyst programmer, working for a major IT company. This company won a contract to develop a management system for Rivendell Trains. It has to be designed using object oriented techniques and coded in C++. This system has to manage information about all trains in its network. You can assume that the data will be sufficiently small to be memory-resident during the daily operation of the system. This exercise does not allow for the development of a database application; you must manage the files yourself. A console application is enough.

2. Background

In a meeting with a Rivendell Trains representative, a number of requirements have been discussed and you have identified the following:

Every time a new train in incorporated into the network, the system needs to have record of this train. Trains can be of two main types: passenger and freight. In any of the two cases, this type of transport has the following features: the train is pulled using a locomotive which can be electric or powered by a steam engine. The train can achieve a maximum speed, has a make, model, year of fabrication, date it was registered in the system and a unique ID number. The locomotive can pull a maximum number of cars, but might not be pulling the same number all the time. Each car is identified by its dimensions and weight.

In the case of the passenger trains, cars can be of different types: passenger cars (with a number of seats for ‘open' cars or a number of compartments and seats for ‘closed' cars), dining cars and sleeping cars (with a number of beds). Passenger trains could be of three types: intercity, regional and commuter. Intercity trains are long-haul trains that operate with few stops between cities. Regional trains are medium distance trains that connect cities with outlying surrounding areas, making more stops and have lower speeds. Commuter trains serve suburbs of urban areas, providing a daily commuting service. All passenger trains may have both first class and standard class cars.

Freight trains haul cargo using freight cars specialized for the type of goods. These include ‘open' cars for general merchandise, ‘covered' cars for bulk material such as minerals and coal, refrigerator cars for transporting food, stock cars (which can be single-level for large animals such as horses or have two/three levels for small animals such as sheep, pigs and poultry), and autoracks for road vehicles (maximum number of cars).

All trains would have a maintenance schedule associated to them. This maintenance includes wheel profiling, break inspection, examination of equipment such as traction motors and bogies, cleaning, among others. Maintenance might happen at different times depending on the type. Wheel profiling and break inspection would happen every time the train covers 5,000 km. The examination of equipment would be done every 18 days and the cleaning every week. The system should be able to display the maintenance tasks to be done during the week.

In addition to the train information, the system should allow the management of data related to the journeys of each train. This includes the destinations, stops, total distance, departure and arrival times.

The manager of the railway company will be able to create and keep up to date the detailed information of all the trains in the network as well as the information of their journeys. The system will let the manager add new trains to the network and search for specific trains with a given identification number, train type or destination.

3. Task Deliverables

Analysis and Design

You are expected to follow an MVC design; this means that your design should have at least an interface class, a control class and several data model classes. The Rational Software Architect project should contain the following:

*A Use case diagram showing use cases for all the requirements.
* A Use case description for each use case.
* A Sequence diagram for each use case.
* The Class diagram
-Include all attributes, operations and associations derived from the above analysis.
*State machine diagram for one class. Transitions should be consistent with sequence diagrams.

Implementation

An implementation of the Train and Car classes (data model classes) will be required, using as many levels of inheritance needed. The manipulations might include create, copy, and update. Trains will be stored in a collection. The implementation of the train collection is divided into 3 sets of increasing technical difficulty; it is up to you which level of difficulty you implement.

Set 1. Create an array of trains. Implement functions such as insert, remove, sort and search by train number, type of train or destination.

Set 2. Use linked lists to store the trains. Implement functions such as insert, remove and search by train type, train number or destination.

Set 3. Use a binary tree to store the trains. Implement functions such as create, remove and search. The search can be done by train type, train number or destination. A self-balanced tree will be rewarded.

Use private member functions for common functionality that should not be exposed in the public interface.

Data needs to be stored permanently in ASCII (text) files on the local hard drive, hence functions for loading data from files and for saving data from memory into a file are required. The files could be comma separated values (CSV).

You are expected to follow the MVC design, so your implementation should reflect this, with at least an interface class, a control class and data classes (Train and Car) implemented. You are free to add any other classes to the model, such as classes for file handling.

Development report

You will deliver a structured document that should contain:

1. A cover page

2. A table of contents page

3. A general description of the system.

4. An explanation of how the main classes were implemented.

5. An explanation of the internal data structures used.

6. A description of the file format(s) used - these should be ASCII text files, so that they can be read easily by other applications

7. A description of the screens and menus to establish the model of use

8. Test plan and results: any errors encountered will need to be logged and rectified.

Demo

You may be asked to discuss and demonstrate your assignment at a viva after your assignment has been marked.

Software Engineering, Computer Science

  • Category:- Software Engineering
  • Reference No.:- M91972128

Have any Question?


Related Questions in Software Engineering

In this assignment you will answer the following questions

In this assignment, you will answer the following questions related to Android platform and Android security design. 1. Describe Android architecture in detail by explaining the four conceptual layers. 2. Describe Androi ...

Research projectin the course we have covered various

RESEARCH PROJECT In the course, we have covered various security and privacy issues that arise in the cyberspace field. We have learned to identify these risks and have discussed the current approaches and developments f ...

Write reply to this article with references with apa

Write reply to this article with references with APA bibliography. Hate Crimes Over the past couple of years, hate crimes have been on the rise in America's largest cities. Studies show that there were sharp spikes in th ...

Assignment lab - statement of workclient liberty vacation

Assignment Lab - Statement of Work Client: Liberty Vacation Planning Inc. (LVP) Project: Website Assessment 1. Project Objectives With this statement of work, LVP is engaging you to conduct a website assessment to determ ...

In this assignment you will answer the following review

In this assignment, you will answer the following review questions from the reading materials of the module/week. 1. "What are the key components of a typical P2P application? Describe their functions." 2. "What are the ...

Overviewyou are required to modify and logically extend

Overview You are required to modify and logically extend the functionality of a provided code base to implement a game. This requires you to modify the code base as well as create documentation and implement various user ...

Instructions - onion routingin this assignment you will

INSTRUCTIONS - ONION ROUTING In this assignment, you will answer the following questions related to Onion Routing and Tor. 1. Describe the infrastructure of Onion Routing and explain how it works for providing anonymity ...

Proposaldesign of an efficient gps tracking system tag for

Proposal Design of an efficient GPS Tracking System (tag) for monitoring small species IMPLEMENTING EMBEDDED SYSTEMS USING SYSML Task Using PapyrusSysML Software (Downloadable online - Evaluation Copy- Latest Version) Mo ...

The research paper for this course is about some of the

The research paper for this course is about some of the best sources of digital evidence for child abuse and exploitation, domestic violence, and gambling according to the National Institute of Justice. Research commerci ...

Write review on this article with apa formatgovernment

Write review on this article with APA format. Government surveillance is a major issue in the United States and globally. Surveillance refers to any collection and processing of personal data, whether, identifiable or no ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As