ELEC 5620 MODEL BASED SOFTWARE ENGINEERING Semester 2, 2020 Homework Automatic Grading System Project Requirements Documentation, Architecture Design and System Modeling Group 5 Lingyu Ma 480251822 Ruiyou Ma 500622036 Yingchao Ye 480157100 Ruojin Li 480228411 2020.10.25 1.Introduction 3 2.Requiements 4 2.1 Ad hoc Requirement 4 2.2 Feature Diagram 5 2.3 Use case Diagram 6 2.4 Use case specifications 7 3.System Modelling 11 3.1 Architecture Analysis and Design 11 3.2 System Model Structure 13 3.2.1 Class Diagram 13 3.2.2 Object Diagrams 14 3.3 System Model Behavior 15 3.3.1 Activity Diagrams 15 3.3.2 Interaction Diagrams 25 3.3.3 State machine Diagrams 35 3.4 Package Diagram 43 3.5 Deployment Diagram 44 4.System Assumption and Shortcomings 45 4.1 System Assumption 45 4.1.1 System assumption for clients 45 4.1.2 System assumption for AutoGrading System 45 4.1.3 System assumption for homework system 45 4.2 Shortcomings 45 5.Contribution 46 2 1.Introduction Nowadays, because of the condition of COVID19, more students have to study at home via the internet. For teachers, they not only have to teach their students by video but also public the requirements of homework on the internet too. Therefore, a homework automatic grading system needs to be built to make some convenience for teachers and students. In this system, students can do their homework online or download their homework requirements and upload homework they finished. Teachers also can upload the requirements and answer for homework. In this way, the system can auto-grade some homework and let teachers check or regrade the homework. The report is mainly divided into five parts, introduction, requirements, system modelling, system assumption and shortcomings and contribution. In the requirements section, a brief description of the requirements and functions of the entire system is given. Feature diagram, use case diagram and use case specifications clearly express what the system needs to do. In the system modelling part, first select the viewpoint for architecture analysis and design, and then provide class diagrams and object diagrams to support the system model structure. Next, use activity diagrams, interaction diagrams and state machine diagrams to illustrate the system model behaviour. Finally, the package diagram and deployment diagram are provided to make the system structure clearer. At the end of this report, the system’s assumptions and existing shortcomings are discussed, and each team member’s contribution in this article is explained. 3 2.Requiements 2.1 Ad hoc Requirement 1.system can let users register. 2.system can let users log in. 3.system can remind students of their homework due date. 4.system can let students do homework online. 5.system can let students upload their homework. 6.system can let teachers upload their homework requirements. 7.system can let teachers recheck students’ homework. 8.system can let teachers grade students’ homework. 9.system can let parents check their children’s homework and marks. 10.system can automatically try to grade as much homework as it can. Target users: Students, teachers and parents of primary and secondary schools. 4 2.2 Feature Diagram Fig2.2.1 After entering the automatic scoring system, the user first needs to log in. After logging in, it is divided into three systems: students, teachers, and parents. Teachers can post homework, check completed homework, grade homework, and post homework answers. Among them, to grade the homework, you can choose to keep the automatically graded results or re-mark. Parents can check their children's achievements. Students can find homework, do homework, and get grades. Homework is divided into online homework and document homework. Online homework is submitted directly after completion online, and the document homework is downloaded and submitted locally after completion. 5 2.3 Use case Diagram Fig2.3.1 Use case diagram of homework auto-grading system In this diagram, it is clear to find different kinds of users have different rights for this system. Teachers can upload the requirements of homework and check or regrade their students’ homework. Students can upload or do their homework online. And parents of students can also check this homework. After teachers upload the answers to homework, the system can auto-grade the related homework. 6 2.4 Use case specifications 1.system can let related students register Name Goal Level Precondition Success Condition Failure Condition Trigger Register Register an account System None Users provide all his personal details Personal details are not sufficient Users want to have an account 1.User visits the web page 2.User clicks the Register button 3.User fills the form of personal details 4.User submits the form 5.System announce user that his account is registered successfully 2.system can let related students log in. Name Goal Level Precondition Success Condition Failure Condition Trigger Login Login system System User has an accounts User logs in with the correct account and password User logs in with the wrong account and passwor d Users want to log in the system 1.User visits the web page 2.User logs in the system by his account and password 3.System announce user that he logs in successfully 3.system can remind students of their homework due date. Name Goal Level Precondition Success Condition Failure Condition Trigger Due date warning Send an announce ment to the user if the due date is coming System User has at least one due. The system announce s user at a correct time User has no due date The System needs to announce user the due date is coming 1.User visits the web page 7 2.User logs in the system by his account and password 3.System announces user which due date is coming 4.system can let students do homework online. Name Goal Level Precondition Success Condition Failure Condition Trigger Do homework Complete homework System User logs into the system The teacher has granted permission Teachers did not open permissions Users want to do homework online 1.The student user logs into the system. 2.The student user clicks the homework button. 3.The student user does the homework online. 4.The student user submits the homework after completing it. 5.system can let students upload their homework. Name Goal Level Precondition Success Condition Failure Condition Trigger Upload homework The teacher can see the uploaded homework in the background System User logs into the system The teacher has opened the upload permission The teacher did not open the upload permission Users want to upload homework 1.The student user logs into the system. 2.The student user clicks the homework upload button. 3.The student user uploads the completed homework. 4.The system shows that the upload was successful. 6.system can let teachers upload their homework requirements. Name Goal Level Precondition Success Condition Failure Condition Trigger Post requireme nts Upload homework requirement s for students system User must be a teacher homework requireme nts post and can be shown on the student account homewor k requirem ents are not sufficient Teachers want to give students new homework 8 1.Teacher user logs into the system. 2.Teacher user clicks the post new homework button. 3.Teacher user posts the homework requirements and uploads related files. 4.Teacher user clicks the post button and the system will send this requirement to students. 7.system can let teachers recheck students’ homework. Name Goal Level Precondition Success Condition Failure Condition Trigger Check homework check the homework graded by the system system User must be a teacher teachers can receive the graded homework and check it no homework uploaded or graded teachers want to check the homewor k 1.Teacher user logs into the system. 2.Teacher user clicks the homework received link and it will show the teacher all the homework submitted by the students. 3.Teacher user clicks the check button and looks through the graded homework. 8.system can let teachers regrade students’ homework. Name Goal Level Precondition Success Condition Failure Condition Trigger Grade homework Grade the homework system cannot grade system User must be a teacher Teachers receive the homework uploaded by the students no homewor k uploaded or graded when the homework can’t be graded by the system 1.Teacher user logs into the system. 2.Teacher user clicks the homework received link and it will show the teacher all the homework submitted by the students. 3.Teacher user clicks the grade button and grades the homework. 9 9.system can let parents check their children’s homework and marks. Name Goal Level Precondition Success Condition Failure Condition Trigger Parents check homework and marks Parents understand students’ academic performance System User logs into the system The student has submitted the work and the system and the teacher have graded it. The student did not submit the homework or the system and the teacher did not grade Parents care about students' academic performance 1.Users (parent) log into the system. 2.User(parent) click the student grade button 3.The system shows the homework and grade to parents. 10.system can automatically grade homework. Name Goal Level Precondition Success Condition Failure Condition Trigger Auto grading Grade the homework students submitted System Homeworks have been submitted by students The system can read in the homework students submitted Teachers didn’t upload the answer and students didn’t upload the homework Teachers want the system automatic ally grade homework s 1.The system shows the homework has been submitted. 2.Teacher users post answers to the AutoGrading system. 3.The AutoGrading system matches the answers to homeworks. 4.The AutoGrading system grades homeworks. 10 3.System Modelling 3.1 Architecture Analysis and Design The system should be analysed by the logical viewpoint. The logical viewpoint focuses on functions, including not only the functions visible to the user but also the "auxiliary functions" that must be provided to realize the user functions. The design of the logical viewpoint builds an object model from the perspective of objects to establish logical layering, module division, module functions, and inter-module dependencies. This architecture focuses on functional requirements, that is, what services the system needs to provide users. Therefore, using this architecture makes the system structure clearer, bridges the gap between functional requirements and technical implementation, and brings great benefits to subsequent development and code writing. Fig3.1 Class Diagram 11 Fig3.2 Sequence Diagram of “students do homework online” In the class diagram, Client, Students, Teachers, Parents and Homeworks are the functions visible to the user, and the rest are auxiliary functions for realizing user functions. This Sequence diagram reflects that in this operation, there are two classes involved. 12 3.2 System Model Structure 3.2.1 Class Diagram 3.2.1.1 Class Diagram The whole system is divided into 9 classes. They are Client, AccountKeeper, Students, Teachers, Parents, HomeworkBuilder, AnnounceSystem, Homeworks, AutoGrading. Client has three kinds of users(students, teachers, parents) which all depend on the account stored in AccountKeeper. Client should have at least one student and one teacher, but can have no parent. Students can control Homeworks because they can upload their homework to Homeworks and get the due dates from Homeworks. Teachers can control HomeworkBuilder, Homeworks and Autograding, because they can create new homework by HomeworkBuilder, check and regrade homework in Homeworks and upload answers to Autograding. AutoGrading can also control Homeworks because after autograding, it should set the grade of related homework in Homeworks. Homeworks can control AnnouncesSystem because whenever a due date of homework in Homeworks is coming, AnnounceSystem should get this message from Homeworks and post an announcement to users. 13 3.2.2 Object Diagrams 3.2.2.1 Object Diagram of releasing grade The teacher object will confirm the automatically graded homework and set the final grade. The student object and parent object can see the result through the homework object. 3.2.2.2 Object Diagram of registering/logging in When the customer object registers, it provides the user type, name, gender, age, student ID, password, and school, and stores these information in the AccountKeeper object. 3.2.2.3 Object Diagram of building homework The teacher object creates a homework object through the homeworkBuilder object, and the homework object publishes an announcement to the AnnounceSystem object. Student objects can find homework objects. 14 3.2.2.4 Object Diagram of doing homework Student object could download and upload the offline homeworks. Student object could browse online and submit online homeworks. 3.3 System Model Behavior 3.3.1 Activity Diagrams (1) Fig3.3.1.1 Activity diagram of signing in 15 After clicking the register button, users need to fill a form with sufficient personal details to register successfully. If not, they need to fill that form again. (2) Fig3.3.1.2 Activity diagram of login After typing in the account and password and submitting them, the system will check whether the account and password filled are correct. Only these two are correct, the system will let the user login. 16 (3) Fig3.3.1.3 Activity diagram of announcing user their due dates After login the system, the welcome page will show users their due date. If they do not have a due date coming, the welcome page will show nothing. 17 (4) Fig3.3.1.4 Activity diagram of doing online homework After the student user logs in, if the teacher has opened the permissions, he can enter the online homework page, complete the homework online and submit it. After the submission is successful, the system will prompt that it has been submitted. If the permission is not open, the system will inform the student. 18 (5) Fig3.3.1.5 Activity diagram of doing document homework After the student user logs in, if the teacher has opened the permissions, he can download the document assignment and submit it after completing the assignment locally. After the submission is successful, the system will prompt that it has been submitted. If the permission is not open, the system will inform the student. 19 (6) Fig3.3.1.6 Activity diagram of uploading requirements After the teacher user logs in to the system, he clicks the publish new assignment button, and if all the conditions required to publish the homework are completed, it will be published successfully. If not completed, return to the create homework page to add information. 20 (7) Fig3.3.1.7 Activity diagram of rechecking requirements The teacher user logs into the system and enters the graded homework list page. If there is a homework that needs to be checked again, select one to check, and return to the list after completion, until all checks are completed. 21 (8) Fig3.3.1.8 Activity diagram of regrading requirements The teacher user logs into the system and enters the graded homework list page. If there are homework assignments that need to be regraded, select one for grading, and return to the list after completion, until all grading is completed. 22 (9) Fig3.3.1.9 Activity diagram of parents checking the grade Parents could see the grades after homework been submitted unless they are not submitted or marked. 23 (10) Fig3.3.1.10 Activity diagram of automatically grade Teachers could post answers to the system and then the system could match answers to the homework. Finally, the system can grade homework automatically. 24 3.3.2 Interaction Diagrams (1) Fig3.3.2.1 Interaction diagram of sign in After clients fill the form, AccountKeeper needs to check whether the information client filled is sufficient. If yes, AccountKeeper will save this information. If no, clients need to fill that form again. 25 (2) Fig3.3.2.2 Interaction diagram of login After clients submit their accounts and passwords, AccountKeeper needs to check whether the accounts and passwords they typed are correct. If yes, the clients will be set as students or teachers or parents. 26 (3) Fig3.3.2.3 Interaction diagram of announcing due date After login successfully, AccountKeeper will try to find all due dates related to that account. Once some due dates are found, AnnounceSystem will announce the user those due dates. 27 (4) Fig3.3.2.4Interacation diagram of doing online homework After successfully logging in, the student requests the online homework page, and the homework class will check the permissions. If the permissions are turned on, they can do the homework online and submit it. If permissions are not turned on, the system will remind students. 28 (5) Fig3.3.2.5 Interaction diagram of doing document homework After successfully logging in, the student requests the document homework page, and the homework class will check the permission. If the permission is turned on, the homework can be downloaded to the local and submitted after completion. If permissions are not turned on, the system will remind students. 29 (6) Fig3.3.2.6 Interaction diagram of uploading homework requirements After logging in, teachers could post homeworks to the HomeworkBuilder. Then, if homeworks are successfully created, the HomeworkBuilder could save homework to the keeper and the homeworks would be shown on the homework page. 30 (7) Fig3.3.2.7 Interaction diagram of rechecking homeworks After logging in, teachers could get student homeworks and find student grades from the homework system before regarding homeworks. 31 (8) Fig3.3.2.8 Interaction diagram of regrading homeworks The teacher user logs in to the system, if there is an assignment that needs to be graded again, please select one to grade, and return to the list when finished, until all grades are completed. 32 (9) Fig 3.3.2.9 Interaction diagram of parents checking the grade After parents login and finding the homework, homework system needs to return homework, as well as grades to them in the condition of homework, have been submitted and marked. 33 (10) Fig 3.3.2.10 Interaction diagram of automatically grade After teachers posting the answers, the AutoGrading system needs to get student homework from the homework system and match answers itself. Finally, the AutoGrading system could send grades to the homework system. 34 3.3.3 State machine Diagrams (1) Fig3.3.3.1 State machine diagram of sign in When users visit the auto-grading system firstly, the system will show the login/sign-in page to users. Once they click the register button, the system will show them a page to fill their personal information. Only if that information is sufficient, the system will pop up an announcement that they have registered successfully. 35 (2) Fig3.3.3.2 State machine diagram of login The system always shows the login/sign-in page to users firstly. After users type in their accounts and passwords, the system will check whether those accounts and passwords are correct in the database. Only after passing that check, the system will show the welcome page to users. 36 (3) Fig3.3.3.3 State machine diagram of announcing due dates After logining in, the system will show the welcome page to users, and the coming due dates will be shown on that page automatically. 37 (4) Fig3.3.3.4 State machine diagram of doing online homework The user must first successfully log in to the system. After requesting the online homework page, the system will confirm whether the permission is open. Only if the permission is open, students can enter the online homework page and submit the homework after completing the online homework. Otherwise, the system will prompt that the student permission is not open. (5) Fig3.3.3.5 State machine diagram of doing document homework The user must first successfully log in to the system, and after requesting the document homework page, the system will confirm whether the permission is open. Only if the permission is open, students can download the homework document and submit it to the system after completing the homework locally. Otherwise, the system will prompt that the student permission is not open. 38 (6) Fig3.3.3.6 State machine diagram of posting homework requirements After logging in, teachers could click the homework upload button and the system will show the create-homework page. Then, it will show the upload success page after homework successfully being created and submitted. Finally, new homework will be stored in the system database. 39 (7) Fig3.3.3.7 State machine diagram of rechecking homeworks Teachers always need to login firstly, then, they could visit graded homework files in the graded homework list page. In the next step, they could click on the homeworks that need to be rechecked in the graded homework displayed page and finish these homeworks. Finally, teachers could check the graded homework and move on to the next student’s homework. 40 (8) Fig3.3.3.8 State machine diagram of regrading homeworks The teacher user logs in to the system and then enters the hierarchical homework list page. If there is an assignment that needs to be graded again, select one to grade, and return to the list when finished, until all grades are completed. 41 (9) Fig 3.3.3.9 State machine diagram of parents checking grade When the user name and password are correct, parents could login and enter the homework page. Once the homework has been submitted, parents could see the homework, then the grade showed to them if homework has been marked. (10) Fig 3.3.3.10 State machine diagram of automatically grade After logging in, teachers could enter and browse the homework page in the students’ homework page. Then, they could see if students have submitted homework and put answers to the system. The system will match answers to submitted homework and automatically grade them. 42 3.4 Package Diagram Fig 3.4.1 Package Diagram The Keeping package in Homework used to store the homework which teachers and students uploaded. The Building package used to build new homework operated by teachers. The Managing package used to check or regrade or auto-grade the homework stored in the Keeping package. The Keeping package in AccountManagement used to store the user details, accounts and passwords. The Creating package used to create new homework. The UI package used to show a user interface which depends on different accounts to users. 43 3.5 Deployment Diagram Fig 3.5.1 Deployment Diagram This deployment diagram displays the execution architecture of our homework auto-grade web. We will use the personal laptop MSI GS75 as our local server and Alibaba Cloud as our online server. We will have five databases to store our three different types of users, homework and the answers of the homework. We will use the Catalina environment in Tomcat JSP server to develop our web. Our website’s name is ‘www.auto-grade.com. It will initially have login.html, welcome.html and homework.html. The objects JavaScript files (students.js, parents.js, teacher.js, homeworks.js…) will be stored into the web.jar file. 44 4.System Assumption and Shortcomings 4.1 System Assumption 4.1.1 System assumption for clients 1. Clients include teachers, students and parents. 2. Only teachers could modify the grade of homeworks. 3. All the students and parents will be responsible for at least one teacher. 4.1.2 System assumption for AutoGrading System 1. The AutoGrading system is assumed to grade homeworks automatically with matching the answers which have been submitted. Otherwise, the system cannot work. 2. This system could only be operated by teachers and be shown to them. 3. This system could only read in the answers to multiple choice questions and to fill in the blank questions. 4.1.3 System assumption for homework system 1. Parents could only see the homework system. But the homework system could be shown to all clients. 2. Homework system includes online homeworks and document homeworks. 4.2 Shortcomings 4.2.1No communication function There is no communication function designed in this system. If a communication platform can be added into this system, it is more convenient for students, parents and teachers to communicate. For students, they can post some questions to teachers directly online. For teachers and parents, they can talk about how to improve the children’s learning skill or how to fix some risks of their children. 4.2.2The system cannot auto-grade all homework Because of lack of some technology support like image identification or semantic recognition, this system cannot auto-grade all homework like writing and drawing. What can be auto-graded is really limited. 45 5.Contribution Name SID Contribution Lingyu Ma 480251822 use cases, use case diagram,class diagram,activity diagram, interaction diagram, state machine diagram, package diagram, deployment diagram Ruiyou Ma 500622036 use cases, feature diagram,class diagram,activity diagram, interaction diagram, state machine diagram, package diagram, deployment diagram Yingchao Ye 480157100 use cases, use case diagram, object diagram, activity diagram, interaction diagram, state machine diagram, system assumption. Ruojin Li 480228411 use cases, feature diagram, object diagram, architecture analysis and design, activity diagram, interaction diagram, state machine diagram 46
欢迎咨询51作业君