Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

For this program you will work from the code base for the Student database solution and project from recent class exercises. Here is the spec

For this program you will work from the code base for the Student database solution and project from recent class exercises. Here is the spec for the parts of the program that you are to submit when complete:
The test should use a List of 4 data objects, 2 of each subclass kind, for testing. Use good test data. Good test data means that values are logical and correlate to other field values so that correct output becomes intuitively obvious to a casual observer. See more about testing below.
Your inheritance hierarchy for the data objects will have the following spec:
Student is the base class. Undergrad and GradStudent inherit from Student.
Student(s) have a first name, last name, email address, and a GPA.
Undergrad(s) have a year rank in school that can only take on the literal values Freshman, Sophomore, Junior, or Senior and a degree program major.
GradStudent(s) have a graduate faculty advisor and they have a financial tuition credit for the teaching they do while in their grad programs.
Your database application has the following requirements for basic operations:
Email address is a good choice for the primary key
C - Create or add a record to the database - Extra Credit
R - Read the details of a record - find or search utility
U - Update or modify some details of an existing record in the database.
D - Delete or remove a record from the database - Extra Credit
Ability to Save the database between program runs (we are using a plain ASCII text file for this).
Some additional requirements:
The program must read from and write to plain ASCII text files for its persistent storage (No other database software allowed).
C# allows any extension for text files but you will use .txt so that it opens easily using Notepad
Any content, format, or layout of data or meta-data in the text file is allowed.
During program run-time, Student objects must be stored and manipulated in a List collection.
Testing - Test reports and results should be obvious, even to a person with little C# knowledge.
Include the output of good test runs of your program so that an observer can immediately see, in an obvious way, that your program produces correct results. Use Powershell Start-Transcript/Stop-Transcript or simply copy and paste from the shell to notepad, etc.
Your testing should completely test the code, meaning that at least one execution of every method and property get or set should be covered in a single run of the test. At least one record should remain unchanged from the input file - through the complete test run - to the output file. This proves that your database can store a record safely without modification. Changes to records should be distributed evenly among them so the changes are easily traced back to the original data.
Create, Delete, and Update all need to be tested "end to end" meaning that the contents of the output file need to reflect the change, not just the List<>. This is a database and changes need to be persistent across program "run" instances to represent effective storage and operations. the other solution are not the same question as the other "The test should use a List of 4 data objects, 2 of each subclass kind, for testing'" The test should use a List of 8 data objects, 4 of each subclass kind, for testing. not the same ??

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Modern Datalog Engines In Databases

Authors: Bas Ketsman ,Paraschos Koutris

1st Edition

1638280428, 978-1638280422

More Books

Students also viewed these Databases questions