CSCE 1040 Homework 3 Design for Smallsville Library Management System For this h
ID: 3813412 • Letter: C
Question
CSCE 1040 Homework 3 Design for Smallsville Library Management System
For this homework assignment you will create a design for the Smallsville Library Management System. The user-provided specifications are provided in a separate document.
You must use the Transaction Pattern discussed in class and used in the in-class example as the basis for your design and future implementation.
Your design should include the following.
1. Description of all data elements used in a table form as shown in example
2. A class diagram of the entities in the system This will be broken into two parts. 1) a class diagram showing just the relationships and multiplicities, and 2) blocks showing the attributes and methods for each class in the first part. Examples will be provided in class
3. State diagrams for any relevant state variables. There will be at least one for the Book class and one for the Patron class for a minimum of 2 diagrams. Examples in class
4. A discussion of the approach you will take to implement the system. How will you implement collections? (no STL allowed at this time) How will you handle limitless expansion?
5. Any outstanding questions or issues you may have about the system
6. A discussion of how you can design now to incorporate future plans and expansion.
You will turn in a PDF file with the above discussions and diagrams to the Homework 3 dropbox in BB Learn. Everything should be included into A SINGLE PDF.
You may want to explore online UML Tools to build your diagrams Some suggestions are:
ArgoUML
The UML templates in Microsoft Visio
LucidChart
SmartDraw
UMLet
Be sure that whatever tool you use, you save your diagrams as JPG or PDF so that you can import them into your single PDF to turn in.
For this first design, and the subsequent implementation in HW 4, you can ignore the presence of the AV items and any rules pertaining to those. Your design should remain flexible so that these can be incorpated in future designs and implementations (i.e HW 5 and 6)
CSCE 1040 Homework 4
For this assignment we are going to implement the Smallsville Library Management System that we designed in Homework 3. Please note that neither your design or your implementation should incorporate the AV items discussed in the requirements document. These will be address in a future assignment.
For the purposes of this assignment you will need to create a user interface menu that matches your design as well as implement each of the entities as classes in C++. Not we will be using C++ and you will need to use the g++ version of the compiler.
You may not use any of the C++ STL at this time. You may NOT use Inheritance at this time. It is STRONGLY recommended, in fact it is required, that you use a pattern-based solution such as the transaction pattern we have discussed. Other methods or designs will significantly increase your development time, stress level, as well as the degree of difficulty for this assignment. And you will lose a portion of the points since it is required. Be sure that your implementation reflects the information in your updated UML design.
Program Requirements:
Your program will be written in C++ not any other computer language. You will include the steps in your algorithm in your code. You may, of course, paraphrase them if you like.
Your program will be graded based largely upon whether it works correctly on a CSE Department Linux machine. Your program will also be graded upon your program style. At the very least your program should include: A consistent indentation style as recommended in the textbook and in class. It should also use meaningful variable names. A block header comment section that includes: Your Name and Email Address, and a brief description of the program.
Your program's output should initially display the department and course number, program number, your name, and your email address – as in Homework 1.
Be sure to create appropriate test data and execute tests for proper and improper data on all functions. You will submit your program source file to the BB Learn website under the "Homework 4" drop box. Make sure you submit your program before the due date and time. You must also submit your updated UML Design file, and a short report about your efforts. Each class should have its own header (.h) and code (.cpp) file as well as a .cpp for main and, if needed, a .h file for main if any other functions of constants are needed. This means you will be turning in 2 PDF’s (updated UML document and report) , 7 cpp files (6 classes and 1 main) and at least 6 header files (1 for each class) if you create a .h for main then you will have 7 header files.
CSCE 1040 Homework 5
For this assignment we are going to augment the Smallsville Library Management System that we designed in Homework 3 and built in Homework 4.
For the purposes of this assignment you need to turn the original book class in Homework 4 into a base or parent class called LibItem, and then create appropriate child or extended classes for Reference, DVD, CD as well as Book (that is 4 child, or derived, classes). This will also mean you will need to make changes to accommodate these types in your other classes and user interfaces. Remember these different types of loanable items may have different loan periods as well as different fine rates and replacement costs. Move any common attributes to the parent class LibItem. There may be additional attributes that are needed and appropriate for the child types. Add these as well. For Example a DVD movie might have a Duration, as well as a Production studio and a Title. A DVD would have an artist and label. Please add all that you deem necessary and justify your choices in your revised design document. In your design file as well as report you should include information on how you have incorporated these differences in your design and the complications these created in the implementation, respectively.
You will need to modify your design from Homework 3 (that you modified and included in Homework 4) and implementation from Homework 4 based on grader comments and class discussion. You will need to turn this updated design in as well as use it for the basis of your program.
General Program Requirements:
Your program will be written in C++ not any other computer language.
You will include the steps in your algorithm in your code. You may, of course, paraphrase them if you like.
Your program will be graded based largely upon whether it works correctly on a CSE Department Linux machine.
Your program will also be graded upon your program style. At the very least your program should include:
A consistent indentation style as recommended in the textbook and in class.
Meaningful variable names.
A block header comment section that includes: Your Name and Email Address, and a brief description of the program.
Your program's output should initially display the department and course number, program number, your name, and your email address – as in Homework 1.
Specific Requirements
1. you must continue to use the transaction pattern as in the previous assignment
2. you must use a LibItem pointers to implement your collection in the collection class for loanable items, and use run-time polymorphism and virtual functions to implement the variations of the various functions for the child classes
3. You may use the STL, although you are not required to use it
4. You must create operator overloads for the insertion and extraction operators for all the classes in the system. You may create additional operator overloads if you desire
5. You menu should now include an “Admin” submenu where values like loan period, fine amount other “business rule” values can be adjusted as needed.
6. You will need to modify your load and store functionality to handle the variations in data types for the loanable items.
Be sure to create appropriate test data and execute tests for proper and improper data on all functions. You will submit your program source file to the BB Learn website under the "Homework 5" drop box. Make sure you submit your program before the due date and time. You must also submit your updated design, or recipe file, and a short report about your efforts. In total you will submit 22-23 files (1 report, 1 design 10 *.cpp and 10-11 *.h) you may create a makefile and submit it to make sure that your project is compiled properly by the grader. You are not required to do so, but it is highly encouraged. You will receive 2 extra credit points for a properly functioning makefile submitted with the assignment.
You will receive 10 extra credit points if you successfully provide all functionality required and use the STL to accomplish this. You will also receive 5 extra credit points (up to a maximum of 20 points) for each 24 hour period that you turn in your solution in advance of the due date. You will only receive this extra credit if you solution compiles and works correctly for all features. No points for early submission will be awarded for partial assignment submissions.
I could really use help with Homeworks 4 and 5 please.
Patrons atrons ounter Add Patron Edit elete Find Sort Print Print List Patron PID Name Standing E-mail Phone Number ailing Address Set/Ge Records Records[ I Counter Register Patron Remove Patron Print Patron Account Print Fines Print Items Checked Out Print Due Dates Print Overdue Items Print Address Mailing Lables Find Patron Account Record Book ID AVID tatus. Fines t/Ge d Fine Remove Fine Catalog Catalogs ounte Edi Delete Sort Print Print L Catalo Bood ID AVID Book Name V Name Status Number O Set/Get