Implementation of train management system

Assignment Help Software Engineering
Reference no: EM131216151

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.

Reference no: EM131216151

Questions Cloud

Explain difference between money and capital markets : Describe the role of the financial institutions and financial markets in our economy. Differentiate between primary and secondary markets. Differentiate between money and capital markets.
Determine which location would produce the greater profit : A newly formed firm must decide on a plant location. There are two alternatives under consideration. Using the above information, determine which location would produce the greater profit.
List the possible realizations of the random vector : List the possible realizations of the random vector; -  Determine the probability of each realization; - Determine the mean vector;
Where are analog pulse modulation processes used in practice : Compare the pulse modulation signals in Illustration 187 with reference to their bandwidth.
Implementation of train management system : SOFT40141 - Software Engineering - Aim of assignment is to demonstrate knowledge about the analysis, design and implementation of a small software system according to the specifications - You are required to produce a Rational Software Architect pr..
How far from the dock does the boat reach the child : The child is 0.6 km from the shore and 2.5 km upstream from the dock. A rescue boat with speed 24.8 km/hr (with respect to the water) sets off from the dock at the optimum angle to reach the child as fast as possible. How far from the dock does th..
Find the values of the constants bi : uppose we form a new random variable  Z by performing a weighted average of the components of. -Find the values of the constants bI such that the variance of Z  is minimized.
What would have to be added to the circuit : How could the string of numbers in the binary system be represented by means of DASYLab? What would have to be added to the circuit in Illustration 184.
Analyze the importance of collecting and reviewing data : Discuss three common behaviors a teacher may see in young children and target for modification or replacement. Propose possible functions for each of these common targeted behaviors.

Reviews

len1216151

9/22/2016 3:30:25 AM

Formative (Whilst you are working on the coursework) Support will be available in the labs, by email or by appointment; many of the design questions (and potential solutions) will be raised and addressed during the lab sessions. Summative (After you have submitted your coursework) You will receive specific feedback regarding your coursework submission together with your awarded mark when it is returned to you. Clearly, feedback provided with your coursework is only for developmental purposes so that you can improve for the next subject-related module or for future projects that you may be involved with.

Write a Review

Software Engineering Questions & Answers

  What kind of measurement scales ratio interval etc

what kind of measurement scales ratio interval etc. characterizes the following software measuresi. number of lines of

  Write the definition of the function max

Add the function max to the class arrayListType to return the largest element of the list. Also, write the definition of the function max and aprogram to test this function.

  Discuss the importance of saving work

Access saves database values as they are added eliminating the need to save every time a record is added, edited, or deleted. Discuss and explain the importance of protecting your work.

  Determine the output of the code sequenc

Determine the output of this code sequence? The user successively enters 3, 5, and -1.

  Draw an e-r diagram for hospital staff

Draw an E-R diagram for the following situations. From discussions with hospital staff, reviewing hospital documents and studying existing information systems, the study team developed a list of business rules.

  Attacking small and medium businesses

Evaluate the recent trend toward attacking small and medium businesses and identify the benefits that these types of businesses have which attract attackers.

  What would you do in each case what would you want your

what would you do in each case? what would you want your employees to do?a fellow employee is being harassed at work

  Describe the scope and analyze how to control the scope

Write an eight to ten (8-10) page original business requirements document for the project plan using the template provided. Note: The template can be found in the Student Center of the online course shell.

  Describe a different sdlc model

The paper will be five pages: (a) Describe the 7 Step SDLC - 2 pages, (b) Describe a different SDLC Model (4 step or 12 step) - 2 pages, (c) Compare and contrast the 7 Step Model and the second model you selected.

  Which could be used for inter-processor communication

The case study is a simple reader-writer protocol (introduced in the lectures) which could be used for inter-processor communication in a distributed, multiprocessor system.

  What were the actual values from your testing?

What were the actual values from your testing? Did these match your expected values? What did you do to make sure you get the expected values?

  Create documentation to support a systems investigation

Identify the information gathering methods used by a systems analyst. Discuss how these methods might benefit the company and evaluate how user and systems requirements have been addressed. Will the new database design cover all data inputs? Is thei..

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