moss final presentation -senior project-. moss presentation agenda project definition requirements...
TRANSCRIPT
MOSS
Presentation Agenda
• Project Definition• Requirements Analysis• System Design• Project Plan• Code Cop Screen Shots• Questions / Answers
MOSS
Team MembersTeam Members
• Rhonda Schuyler – Web Developer, Lead Tester• Ryan Riebeling – Lead Programmer• Keith Gorrell – Lead Analyst• Al Gillis – Project Coordinator, Editor
MOSS
Organizational PlanOrganizational Plan
Upper Management
Bryon Ehlmann
Project Coordinator
Al Gillis
Lead Programmer
Ryan Riebeling
Lead Analyst
Keith Gorrell
Web Dev / Tester
Rhonda Schuyler
Client
Steve Klien
MOSS
Current SIU ProblemCurrent SIU Problem
• Believe it or not, there are some CS students at SIU that do NOT code their own programming assignments.
• Instructors need a way to check multiple programming assignments for similarity.
• Doing this by hand takes way too long.
• There exists an application hosted by U.C. at Berkeley called MOSS (Measure Of Software Similarity) that compares programs, but currently, the process of requesting MOSS services is not convenient.
MOSS
Current MOSS ProblemsCurrent MOSS Problems
• Command line interface to run a Perl script for UNIX.
• Not integrated with SIU student drop boxes.
• No GUI or MOSS I/O automation.
• 2 week lifetime of MOSS reports.
• No locality of MOSS reports.
MOSS
Requirements AnalysisRequirements Analysis
• Client interview sessions.
• Perl script analysis and functional decomposition.
• Prototype of MOSS service requests.
• Subsequent review of MOSS reports.
• Constant review with client.
MOSS
http://moss.cs.berkeley.edu/~moss/results/675443542
View Results within 14 days
Current View of MOSS ReportsCurrent View of MOSS Reports
MOSS
RIS
K
• Create attachments from file groups made from user selections.
• Automatically send MOSS requests via email with attachments.
• Automatically retrieve, open, and parse MOSS reports.
• Automatically web tunnel into MOSS reports URL.
• Automatically store MOSS reports to local web page.
MOSS Risk Mitigation ItemsMOSS Risk Mitigation Items
MOSS
Our SolutionOur Solution
The Code Cop System requirements:
• Easy to use GUI.
• Automated MOSS I/O.
• Integrate student drop boxes into the system.
• Integrate with instructor class spreadsheets.
• Thin client / 100% Web hosted functionality.
• Local archive of MOSS reports.
MOSS
Development PlatformDevelopment Platform
Windows 2000 because:
• Client requirements.
• Our groups programming skill set.
• Readily available development tools.
• SIU Web pages are hosted on MS IIS.
MOSS
Functional RequirementsFunctional Requirements
Instructors:
• Can create, edit, or delete courses.
• Can add, edit, or delete students from courses.
• Can switch students between sections.
• Can bundle MOSS requests from multiple sections.
• Can specify base files to be sent to MOSS.
• Local archive of MOSS reports.
• MOSS reports posted to Web site.
• Student uploads are filename constrained.
• Set homework deadline.
MOSS
Functional RequirementsFunctional Requirements
Administrator:
• Can add, edit, or delete users.
• Can add, edit, or delete courses.
Student:
• Can submit their programs via a Web interface.
• Can view the status of their directory.
E-R Model
Student
Instructor
Course
N
N
Class
DropBox
Takes
1
InstanceOf
1
TeachesN 1
Assignment
PlacedIn
Produces1
M
N
N
1
HasAccess
1
N
UploadsTo1
N
GivesN
HasN
1
Results
Moss
Returns
N
1
Views
N
1
ProducesN
M
Files
Has
1
N
Assignment Name AssignmentID AssignmentKey DueDate ClassKey InstructorKey
Class ClassID ClassKey Year Semester SectionNumber CourseKey InstructorKey
Course CourseID Name CourseKey
DropBox Name Location BoxKey BoxID InstructorKey
Files FileID FileKey Name IsBase StudentKey AssignmentKey BoxKey
Instructor UserName InstructorKey LastName FirstName Password HasResult Privilege
PlacedIn BoxKey FileKey
Program
Results InstructorKey ClassKey Location IsNew ResultsID
Student StudentKey LastName FirstName Password StudentID Privilege UserName
Takes StudentKey ClassKey
UploadsTo UploadTime UploadDate StudentKey BoxKey StudentID BoxID
AssignmentKey FileKey
MOSS
System OverviewSystem Overview
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
Deployment ModularityDeployment Modularity
Inte
rnet
MS Internet Information Server
Mail Server
StorageSIU-E
Code CopComputer
SIU-E Users
SIU-E Student
Drop Box
Element Functions Interface
Storage
CC Login.ASP
JVM
SQL I/O
MS Drive Mapping
MS Access DB
ZIP Engine
JET DB Engine
Code Cop
Application
Mail Server
UUE Mail Client
MOSS Application
Storage
MS Internet Information Server
MS Drive Mapping
FTP Drop Box Login
MOSS
Storage IE5 / Netscape
Mail ClientFile I/O
User Browser
Co
mm
un
ica
tion
Su
bs
ys
tem
FunctionalInterface
Send / ReceiveMOSS Services Ethernet
Code Cop SystemPhysical Interface
MOSS
Email ServicesClient/Server
Web ServicesHTTP Tunnel
DB ServicesSQL/Access
File I/O ServicesDrop Box
Runtime ServicesVBS / COM / JVM / DLL
Co
mm
un
ica
tion
Su
bs
ys
tem
Co
mm
un
ica
tion
Su
bs
ys
temStudent Services
DB Admin Services
Instructor Services
File I/O Services
FunctionalInterface
Ethernet
Physical Interface
Co
mm
un
ica
tion
Su
bs
ys
tem
Service Requests
Report Notification
HTTP Results
MOSS
Interface DiagramInterface Diagram
MOSS
Code Cop User Interfaces
Four Main User Interfaces
1. Login Page
2. Instructor Menu
3. Student Menu
4. Administrator Menu
Web Site Organization
Login
AdminMenu
UserPage
CoursePage
AddCourse
EditCourse
Logout Level
Home Level
AddUser
EditUser
UploadProgram
ChangePassword
ViewProgram
Files
StudentMenu
InstructorMenu
PopulateClass
AssignmentsUpload
Program
CreateMOSSReport
ViewResults
StudentList Page
AdminMenu
EditStudent
AddStudent
EditAssignment
AddAssignment
Add BaseFiles
MOSS
AdministratorAdministrator
CodeCop Login
Admin Menu
Session("UserType") = "Admin"
User List PageCourse List Page
Add User Edit UserEdit CourseAdd Course
Change Password
CodeCop.mdb
AdministratorAdministrator
CodeCop Login
Admin Menu
Session("UserType") = "Admin"
User List PageCourse List Page
Add User Edit UserEdit CourseAdd Course
Change Password
Add CourseAdd User
Modify Course
Modify User
Modify Password
Logout
CodeCop.mdb
InstructorInstructor
CodeCop Login
Instructor Menu
Session("UserType") = "Instructor"
Populate Class Assignment List Page
Assignment Add Assignment Edit
Add Base Files
Upload Student Program Create Moss Request View Results Student List Page
Student EditStudent Add
Change Password
CodeCop.mdb
Admin Menu
InstructorInstructor
CodeCop Login
Instructor Menu
Session("UserType") = "Instructor"
Populate Class Assignment List Page
Assignment Add Assignment Edit
Add Base Files
Upload Student Program Create Moss Request View Results Student List Page
Student EditStudent Add
Change Password
Modify Assignment
Add Assignment
Import Students
Logout
Modify Password
Add Student
Modify Student
CodeCop.mdb
Admin Menu
StudentStudent
CodeCop Login
Student Menu
Session("UserType") = "Student"
View Program FilesUpload Page Change Password
CodeCop.mdb
StudentStudent
CodeCop Login
Student Menu
Session("UserType") = "Student"
View Program FilesUpload Page Change Password
Logout
Modify PasswordCodeCop.mdb
MOSS
Design Logic Between Modules
Session Variables in ASP.
Querystrings used to pass information from one page to another.
MOSS
Hardware/Languages
1. Hardware Decisions: Windows 2000 dedicated server
2. Languages: ASP, HTML, SQL, Visual Basic, Java
MOSS
Implementation Requirements
Resources:
•Code Cop will require space on the CSFS2 server.
•Must have Internet access.
•Requires an email account to send/receive info.
•Microsoft Access database.
•Microsoft Internet Information Server.
MOSS
Development Tools / Software
• Microsoft Visual Studio 6.0 Enterprise Edition
• Third Party Components:
• ASPMail 4.0 – used for sending email messages using SMTP
• JMail – used for receiving email messages using POP3
MOSS
Test Plan
The Lead Tester is responsible for developing a system of testing which includes:
• Lo-fi and Hi-fi prototyping at the early stages of development.
• Making sure that all features agreed upon are in the application.
• Debugging and Testing of all Routines.
MOSS
Test Plan (cont.)
Documentation will include:
• Why the test is being conducted
• How the test will be conducted
• Where the test will be conducted
• When the test will be conducted
• Who will conduct the test
Every test will be documented
MOSS
Deployment Plan
• Installation on CS Dept. Windows 2000 Server
• Entire CodeCop application will be in one place
• Training
• Client and other instructors will need to learn the UI
• Student Web Interface (optional per Instructor)
MOSS
Deployment Plan (cont.)
• Operation (continued)
• CodeCop System will need very little maintenance
• Requires server to be up and running
• Requires server to maintain a connection to network
MOSS
Code Cop Project Lifecycle
Contract signed by client
CS425 final presentation
CS499 final presentation
Requirements Met?
All user interfaces Web based Student uploads filename controlled Student uploads are time constrained No student project build capability from drop box Instructor override of all student constraints Instructor / Administrator control of all user accounts Windows based MOSS interface MOSS bundling of multiple class sections Automatic background processing of MOSS transactions Permanent / local archive of all MOSS reports
MOSS