首页 > > 详细

辅导CSI 311编程设计、讲解software程序语言、Python,c++编程辅导讲解SPSS|讲解Python程序

Assignment 3 CSI 311
ABET Student Outcomes:
SO6: Apply computer science theory and software development fundamentals to produce computingbased
solutions.
Student Learning Outcomes:
SLO9 Develop a deep and comprehensive understanding of the object-oriented paradigm
Directions:
Design an application in an object-oriented language of your choice. The program must demonstrate
your mastery of classes, inheritance and IS-A relationships. The program should be robust and nontrivial
solution (see below for definition of non-trivial). The object-oriented design of the program is
required to use polymorphic inheritance in the design. The topic of the design if for you to decide. It can
be anything that interests you. Think of this assignment as creating an inventory management system
for some collection of data.
The application requirements:
a) It must be Menu driven that allows for the following operations
a. The ability to create members objects of your object-oriented design
i. Remember: all objects have Properties, Events and Methods
b. The ability to create children objects that extend your object-oriented design
i. Remember: all objects have Properties, Events and Methods
c. The ability to remove a member or a child from the application
d. The ability to print the objects that have been created
e. The use of a structure (i.e. Linked List, Array List, Binary Search Tree) that holds all
instances of the objects created (Hint: This is a great place to show polymorphism)
f. The ability to search for an item in the structure to see if it exists. (Make sure you search
for different types of data when showing this step)
i. If the item exists then its information should be displayed
ii. If the item does not exist then an error message should be displayed if the item
is not found
g. A way to print the objects within your application to a text file
i. You can specify the format of the text file, this will be based on your objectoriented
design
h. A way to read from a text file and populate objects within your program (This can be
used for testing your application)
i. A way to exit your program
b) It must show inheritance of objects
c) It must show polymorphisms of objects
d) It must demonstrate an IS-A relationship
e) The program should be robust and not trivial in nature. (i.e. more than 4 classes of objects)
Levels of Performances
UNSATISFACTORY
1
DEVELOPING
2
SATISFACTORY
3
EXEMPLARY
4
Performance Dimensions
Performance Indicator #1:
The software has a proper
design with classes and sub
classes
The software doesn’t meet the
specification.
The software meets some of the
specification (e.g. only some of
the states or operations were
implemented).
The software meets all of the
specification.
The software meets all of the
specification and handles
significant corner cases.
Performance Indicator #2:
Software uses polymorphism
appropriately
Use of polymorphism is absent
or is ad hoc instead of using
language features
Polymorphism present but
suboptimal
Polymorphism is mostly correct but is
overengineered or lacks some
flexibility
Polymorphism is completely
correct
Performance Indicator #3:
Software uses inheritance
correctly
No inheritance Incorrect or incomplete
inheritance
Good inheritance structure but not
used optimally (case statements for
dispatch, for example)
Inheritance used correctly
Application is menu No menu exists Menu exists but it is incomplete Full menu exists but parts are not
demonstrated or functional
Menu is present and works
properly
Application writes
information to a file
No ability to write to a file is
found
Ability to write to a file exists
but it does not work.
Ability to write to a file exists, but
there are minor issues
Ability to write to a file exists
and works well
Application is non-trivial One or less classes are used in
the application
Two classes were used in the
application
Three classes were used in the
application
Four or more classes were
used in the application
Application data search No ability to search data Ability to search data is present
but does not work
Ability to search data is present but
search does not work properly
Ability to search data is
present and works well.
Application reads
information from a file
No ability to read from a file is
found
Ability to read from a file exists
but it does not work.
Ability to read from a file exists, but
there are minor issues
Ability to read from a file
exists and works well
Coding of the application and
comments
The code within the
application is not well
structured or commented
The coding within the
application is semi-structured
but there are many issues.
Comments are sparse
The coding within the application is
structured but there are minor
mistakes. Comments need work
The coding with the
application is well structure
and well formatted. The
comments are descriptive and
complete.
Video No video is present Video is present but it is missing
many of the required steps
Video is present but is missing only a
few of the required steps
Video is complete
Special
Notes:
If your program fails to compile, you will receive a grade of 0.
The assignment does not have to be in a GUI. A console application is sufficient.
Name:____________________ Date:_______________
Assignment 3 CSI 311
Submission requirements:
1) The source code for your application
2) The output file created from your application
3) The input file used for your testing
4) One to Two paragraphs about your application design. Include the file format you used in your
output file design.
5) UML Diagrams for all classes
6) Video of your application compiling and testing the input and output files
Partial Example idea of a proper application: (YOU CANNOT USE THIS IDEA)
The object-oriented design is for a Graded Assignment Class.
Child Graded Assignment Class – Auto Graded, Manually Graded
Child of the Auto Graded Class – Black Board Quizzes, Scan Tron Tests
Child of the Manually Graded Class: Discussion Boards, Tests, Homework Assignments, Lab Assignments
Polymorphism: A linked link structure declared as a Grade Assignment type that will hold all of the
assignments.
Initial UML Diagrams for some of the classes:
Graded_Assignment_Class
- Grade: float
- Class: String
- Weight: float
- Name: String
+ Graded_Assignment_Class ()
+ Graded_Assignment_Class (float g)
+ Graded_Assignment_Class (float g, String c)
+ Graded_Assignment_Class (float g, String c, float w)
+ Graded_Assignment_Class (float g, String c, float w, String n)
+ setGrade(float g)
+ getGrade():float
+ setClass(String c)
+ getClass():String
+ setWeight(float w)
+ getWeight():float
+ setName(String n)
+ getName():String
+ isGradeGreater(float new_gr):Boolean
+ LetterGradefromGrade(): String
AutoGraded (Parent Graded assignment class)
Name:____________________ Date:_______________
Assignment 3 CSI 311
- Date_graded : Date
+ AutoGraded()
+ AutoGraded(Date dt)
+ AutoGraded (Date dt, float g, String c, float w, String n)
+ setDateGraded(Date dt)
+ getDateGraded():Date
ManuallyGraded (Parent Graded assignment class)
- Grader: String
+ ManuallyGraded ()
+ ManuallyGraded (String gr, Date dt, float g, String c, float w, String n)
+ setGrader(String gr)
+ getGrader():String
Test (Parent ManuallyGraded class)
- Chapters_of_Book: String
- Num_Questions: int
- Proofs: Boolean
- Short_Answer: Boolean
//This area would be filled in with constructors and mutators
for the class variables.

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!