07/21/97
MOSS
Project Introduction and Definition
-Senior Project-
07/21/97
MOSS
•Al Gillis – Project Leader, Editor•Rhonda Schuyler – Lead Tester, Web Developer•Keith Gorrell – Lead Analyst•Ryan Riebeling – Lead Programmer
Team MembersTeam Members
07/21/97
MOSS
•Client
•Steve Klein
•Users
•CS Instructors
•CS Students
Code Cop System Code Cop System AudienceAudience
07/21/97
MOSS
Current ProblemCurrent Problem
•Believe it or not, there are some students at SIU-E that do not write their own code for programming assignments.
•Instructors need a way to check multiple sections of programming assignments for similarity.
•Doing this by hand takes way too long.
•There exists an application hosted by U.C. at Berkeley called MOSS to compare programs, but the process of submitting them is currently very inconvenient.
07/21/97
MOSS
Current MOSS ProblemsCurrent MOSS Problems
•Command line Perl script for UNIX.
•No GUI or MOSS I/O automation.
•Not integrated with student drop boxes.
•2 week lifetime MOSS reports.
07/21/97
MOSS
The SolutionThe Solution
•The Code Cop System
•Easy to use GUI
•Automated MOSS I/O
•Integrated with current student drop boxes
•Integrated with instructor class database
•Web hosted functionality
•Local archive of MOSS reports
07/21/97
MOSS
MOSS Server System 1. MOSS Application 2. Email Server 3. Email Client
SIU-E Code Cop System 1. SIU-E Code Cop Application 2. FTP Drop Box 3. WEB Server (IIS) 4. Database (Access2000) 5. Zip, Tar, UUEncode, UUDecode 6. Email Client 7. Email Server
From Home 1. IE5
From School 1. IE5
INT
ER
NE
T
MOSS / Code Cop System MOSS / Code Cop System OverviewOverview
07/21/97
MOSS
Based on the client’s requirements for accessibility, group skills, and the availability of development tools, we chose a Windows NT platform running Internet Information Server.
07/21/97
MOSS
Based on the client’s requirements for accessibility, group skills, and the availability of development tools, we chose a Windows NT platform running Internet Information Server.
Based on this platform choice we needed to see what we could or could not do in terms of talking to MOSS.
07/21/97
MOSS
•Create attachment from file groups made from user selections and encode them
•Send email with attachment
•Retrieve the email which contains URL pointing to results
•Extract results from URL
•Populate MOSS statistical results into database
RIS
KMOSS Automated I/O Risk Mitigation Effort
07/21/97
MOSS
The Risk Mitigation Effort has:
•Allowed us to make certain that we will be able to send/receive information to/from MOSS based on our platform choice
07/21/97
MOSS
The Risk Mitigation Effort has:
•Allowed us to make certain that we will be able to send/receive information to/from MOSS based on our platform choice• Allowed us to define our approach for designing the system
07/21/97
MOSS
http://moss.cs.berkeley.edu/~moss/results/675443542http://moss.cs.berkeley.edu/~moss/results/675443542
07/21/97
MOSS
http://moss.cs.berkeley.edu/~moss/results/675443542
Currently to View ResultsCurrently to View Results
Need to manually click the URL
http://moss.cs.berkeley.edu/~moss/results/675443542
07/21/97
MOSS
http://moss.cs.berkeley.edu/~moss/results/675443542
Currently to View ResultsCurrently to View Results
Need to manually click the URL
http://moss.cs.berkeley.edu/~moss/results/675443542
07/21/97
MOSS
http://moss.cs.berkeley.edu/~moss/results/675443542
View Results within 14 days
Currently to View ResultsCurrently to View Results
07/21/97
MOSS
AnalysisAnalysis
Talking to Client Reviewing data sent back by MOSS Constant review with Client
07/21/97
MOSS
Three interfaces
Instructor
Admin
Student
07/21/97
MOSS
InstructorsInstructorsCan add other instructors but can’t edit or delete them
Can create, edit, or delete courses
Can add, edit or delete students from courses
Can switch students between sections
Can send programs from single or multiple sections to MOSS
Can specify base file to be sent with programs
07/21/97
MOSS
Can extend deadlines for students to submit programs
Can specify programming language of programs
Can send programs to special directory for grader
Instructors (cont)Instructors (cont)
Can view results of analysis including statistical information
Can view up to five versions of programs turned in by students
07/21/97
MOSS
Instructors (cont)Instructors (cont)Can view status of turned in assignments in a table formatCan archive students at the end of the semester in the databaseCan delete students from database
07/21/97
MOSS
AdministratorAdministrator Has access to the entire system
Can Add, Edit, Delete Instructors/Students
StudentsStudents Can submit their programs via the web interface
07/21/97
MOSS
Code Cop System Model:
StudentSubsystem
TeacherSubsystem
AdministratorSubsystem
Data ManipulationSubsystem
CommunicationSubsystem
Moss Data ExchangeSubsystem
07/21/97
MOSS
Student
MossCode Cop
Administrator
Instructor
Actors:
07/21/97
MOSS
Sample Scenario:
Scenario name InstructorAddsAssignment
Participating Actor Instances Terry: Teacher
Flow of events 1. Terry assigned a program to her third section of cs150 for the spring semester of 2001 that is due in one week. She activates the “Add Assignment” function of the Code Cop system.
2. Terry enters the assignment name and the due date.
3. Terry receives a message that acknowledges that the assignment has been successfully added.
07/21/97
MOSS
Sample Scenario:
Scenario name InstructorAddsInstructor
Participating Actor InstancesTerry, Joe: Teacher
Flow of events 1. Terry is responsible for the new instructor, Joe. She activates the “Add Instructor” function of the Code Cop system.
2. Terry enters “Joe” as the instructor’s name.
3. Terry receives a message that acknowledges that Joe has been successfully added as an instructor.
07/21/97
MOSS
Code Cop System Use Case Diagram:
User Moss
Code Cop
AddObject
View Results
Send Request
Run Test