联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Python编程Python编程

日期:2020-11-18 11:34

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.


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp