1. Homepage
  2. Programming
  3. EL2311 Software Development 2 - Coursework: Data storage and retrieval

EL2311 Software Development 2 - Coursework: Data storage and retrieval

Engage in a Conversation
EL2311Software Development 2Data storage and retrievalSQLiteXMLC#

THE BRIEF/INSTRUCTIONS CourseNana.COM

  CourseNana.COM

The following Learning outcomes will be assessed in this assessment CourseNana.COM

  CourseNana.COM

  • 1. Develop appropriate software solutions to technological problems.
  • 2. Describe and apply features of an object oriented programming language.
  • 3. Effectively exploit the programming language and development environments.
  • 4. Effectively apply software design and development principles.

  CourseNana.COM

  CourseNana.COM

Assessment Criteria CourseNana.COM

Weighting (%) CourseNana.COM

Software Development CourseNana.COM

70 CourseNana.COM

Report CourseNana.COM

30 CourseNana.COM

Total CourseNana.COM

100 CourseNana.COM

  CourseNana.COM

Introduction and background CourseNana.COM

  CourseNana.COM

Students will be provided with the following software (on blackboard) : CourseNana.COM

  CourseNana.COM

An SQLite database file. CourseNana.COM

  CourseNana.COM

The aim of the coursework is to give students practical experience in object oriented software development by implementing a system in an object oriented language (C#) that involves a number of real-world engineering applications (writing threaded code, reading standard data format (XML), database access and storage, user interface design). CourseNana.COM

  CourseNana.COM

The System. CourseNana.COM

  CourseNana.COM

A company makes and sells robots of varying types, they need to keep track of what they make and who they sell them too.  The company has a database (cwkdb2024.db – on blackboard) that consists of two tables :  CourseNana.COM

robots CourseNana.COM

model : text (primary key) CourseNana.COM

price : real CourseNana.COM

type : text CourseNana.COM

current : integer CourseNana.COM

stock : integer  CourseNana.COM

customers CourseNana.COM

orderNo: integer (primary key) CourseNana.COM

name : text CourseNana.COM

postcode : text CourseNana.COM

model : text (foreign key) CourseNana.COM

quantity : integer CourseNana.COM

orderDate : date CourseNana.COM

  CourseNana.COM

In the robots table : CourseNana.COM

·      model - This is the model name of a robot, it’s stored as a text string and is used as the primary key as each model is a unique value. CourseNana.COM

·      price – This is the retail price of the robot and is a floating point value. CourseNana.COM

·      type – This is the type of robot that the model is and refers to the type of activity the robot does, this is stored as text and is left to the student to come up with suitable examples (two are included in the database already, see later) CourseNana.COM

·      current – This is an integer acting as a Boolean that states whether the company is currently producing this type of robot.  0 means the robot is not currently made, 1 means it is. CourseNana.COM

·      stock – An integer value that states how many robots of a type the company has in stock.  Note even if a robot is not currently being made there may still be stock left of it. CourseNana.COM

  CourseNana.COM

In the customers table : CourseNana.COM

·      orderNo – A unique integer value that identifies the order made by a customer.  Each order refers to a single model of robot.  If a company were to order two different models of robot at the same time two orders would be created.  Used as the primary key for the table. CourseNana.COM

·      name – A text field that identifies the company name that bought the robot. CourseNana.COM

·      postcode – A text field that contains the postcode address of the buyer. CourseNana.COM

·      model -  The model name of the robot bought (text field).  This attribute references the model attribute of the robot table as a foreign key (refer to lecture notes if you don’t remember what this means). CourseNana.COM

·      quantity – Integer value that states how many robots the customers bought in this order. CourseNana.COM

·      orderDate – Date field that specifies when the order was fulfilled. CourseNana.COM

  CourseNana.COM

Each table currently has three example entries in them CourseNana.COM

  CourseNana.COM

robots: CourseNana.COM

driveRob01 CourseNana.COM

3999.95 CourseNana.COM

autonomousMobile CourseNana.COM

0 CourseNana.COM

15 CourseNana.COM

driveRob02 CourseNana.COM

4999.95 CourseNana.COM

autonomousMobile CourseNana.COM

1 CourseNana.COM

25 CourseNana.COM

noseDive CourseNana.COM

350.99 CourseNana.COM

manualDrone CourseNana.COM

0 CourseNana.COM

6 CourseNana.COM

  CourseNana.COM

Here we can see the driveRob01 cost 3999.95 pounds was of type autonomousMobile and is no longer in production, the company still has 15 left in stock.  driveRob02 cost 4999.95 pounds is of type autonomousMobile is currently in production and that the company have 25 in stock.  Finally noseDive cost 350.99 pound, was a manualDrone and is no longer in production, the company have 6 left in stock. CourseNana.COM

customers: CourseNana.COM

1 CourseNana.COM

Bob Smith & Sons CourseNana.COM

BB1 1QT CourseNana.COM

driveRob01 CourseNana.COM

15 CourseNana.COM

2014-05-16 CourseNana.COM

2 CourseNana.COM

CompuDrive CourseNana.COM

BB10 7ZY CourseNana.COM

driveRob02 CourseNana.COM

35 CourseNana.COM

2017-07-01 CourseNana.COM

3 CourseNana.COM

Robo Fly Ltd CourseNana.COM

BB5 1AB CourseNana.COM

Nosedive CourseNana.COM

7 CourseNana.COM

2020-01-16 CourseNana.COM

  CourseNana.COM

Here we see that order 1 was for Bob Smith & Sons, their postcode was BB1 1QT they bought  15 driveRob01 robots and this was completed on the 16th May 2014. Etc. CourseNana.COM

  CourseNana.COM

  CourseNana.COM

Part One - Software development. CourseNana.COM

  CourseNana.COM

The student is required to write a C# program that performs the following actions : CourseNana.COM

  CourseNana.COM

  1. Creates new XML files that allow the company to plan new robots and create new orders.  The program should store and save these files to the hard drive.
  2. Loads and Parses the XML files for robots and orders (created in point 1), NB. the program must be able to load in files not created in the current session, i.e. the program must be able to save an XML file, stop the program, restart the program and load an XML file.  The program should be able to handle badly formed files or errors in the data in a suitable manner without crashing the program.  Students should create their own mis-formed files for testing purposes.
  3. Permanently store the data in the database file.
  4. Allows a novice user to run some basic queries on the database. (See below)
  5. Allows expert users to run custom SQL queries on the database. (See below)
  6. Allow the GUI to remain responsive whilst loading and storing the XML files by implementing threaded code.
  7. All code should be fully documented and should use appropriate Object Oriented Programming techniques covered in the course.

  CourseNana.COM

There are two types of user that you need to account for when writing this program. CourseNana.COM

  CourseNana.COM

1)    Novice Users.  These users know no SQL or database theory at all, they need to be able to retrieve simple information out of the database.  The information your program should allow them access to is as follows : CourseNana.COM

·      Bring back a list of all robots currently being produced. CourseNana.COM

·      Bring back a list of all robots over a user defined stock value.  E.G. bring back all robots that we have more than 5 of in stock. CourseNana.COM

·      Bring back the name of all companies that have bought a robot that is currently in production. CourseNana.COM

·      Bring back the total worth of all the robots that we have in stock. CourseNana.COM

·      Bring back the order numbers of all orders between two user defined dates.  E.G. All orders fulfilled between 2001-01-01 and 2013-01-01. CourseNana.COM

  CourseNana.COM

2)    Expert User.  These users should be allowed to write any SQL query they wish and have it run against the database.  The program should return sensible errors any time the SQL written is not valid.  The expert users should NOT be allowed to add, modify or delete data from the database without supplying an admin password. CourseNana.COM

  CourseNana.COM

Students are heavily advised to get the program to work using single threaded methods first and to attempt multithreaded solutions once a working single threaded version is produced. CourseNana.COM

Part Two - Documentation CourseNana.COM

  CourseNana.COM

Students are required to produce a report that details their development of the program written for part one.  The report should include the following sections : CourseNana.COM

  CourseNana.COM

  • Development description.  A detailed account of what the student did in order to produce the submitted program.  This may include diagrams showing data / process flow and control, UML etc., any necessary assumptions made, explanation of algorithms used etc.

  CourseNana.COM

  • Testing plans.  How the student tested the program including creating XML files for testing program input.

  CourseNana.COM

  • Brief discussion on ideas for improving the program, this discussion is theoretical and the student is not expected to implement changes, therefore the discussion should not be limited to changes that are either within the student’s ability range or within the time allocated for the coursework.

  CourseNana.COM

Software should be appropriately commented (in English) and should employ the techniques and principles of object oriented programming demonstrated in the lectures and labs where appropriate. CourseNana.COM

  CourseNana.COM

Reports should be produced to a professional standard, reports that are badly formatted and/or contain numerous examples of poor grammar/punctuation/spelling may be penalised. CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
EL2311代写,Software Development 2代写,Data storage and retrieval代写,SQLite代写,XML代写,C#代写,EL2311代编,Software Development 2代编,Data storage and retrieval代编,SQLite代编,XML代编,C#代编,EL2311代考,Software Development 2代考,Data storage and retrieval代考,SQLite代考,XML代考,C#代考,EL2311help,Software Development 2help,Data storage and retrievalhelp,SQLitehelp,XMLhelp,C#help,EL2311作业代写,Software Development 2作业代写,Data storage and retrieval作业代写,SQLite作业代写,XML作业代写,C#作业代写,EL2311编程代写,Software Development 2编程代写,Data storage and retrieval编程代写,SQLite编程代写,XML编程代写,C#编程代写,EL2311programming help,Software Development 2programming help,Data storage and retrievalprogramming help,SQLiteprogramming help,XMLprogramming help,C#programming help,EL2311assignment help,Software Development 2assignment help,Data storage and retrievalassignment help,SQLiteassignment help,XMLassignment help,C#assignment help,EL2311solution,Software Development 2solution,Data storage and retrievalsolution,SQLitesolution,XMLsolution,C#solution,