Final Presentation -Senior Project- MOSS
Presentation Agenda MOSS Introduction / Project Definition Requirements / Analysis Project Plan System Design Implementation Testing Deployment / Training Demo Retrospective Thoughts Questions / Answers MOSS
Organizational Plan MOSS Upper Management Client Bryon Ehlmann Steve Klien Project Coordinator Lead Analyst Lead Programmer Web Dev / Tester Al Gillis Keith Gorrell Ryan Riebeling Rhonda Schuyler MOSS
Current SIU Problem MOSS 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 SIU Problem MOSS Not easy to interface with MOSS 2 week lifetime of MOSS reports. No locality of MOSS reports. Student drop box does not enforce a homework naming convention Student drop box does not enforce an assignment due date MOSS
Requirements Analysis MOSS
MOSS Risk Mitigation Items 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 report URL Automatically store MOSS reports to local web page RISK MOSS
Our Solution MOSS The Code Cop System requirements: Easy to use GUI. Automated MOSS I/O. Integrate with instructor class spreadsheets. Thin client / Web hosted functionality. Local archive of MOSS reports. Provide student drop box system MOSS
MOSS
Project Plan MOSS
CodeCop Development Process Client System Requirements Contract Ethics Document Project Plan Software Style Guide Software Design Document Database Dictionary Test Plan Installation Guide Version Description Document Users Manual / Training Presentations Demonstrations Microsoft Source Safe Configuration Management CodeCop Requirements Analysis Document MOSS
Code Cop Project Lifecycle Contract signed by client CS425 final presentation CS499 final presentation MOSS
Everyone Keith Alan Ryan Rhonda
System Design MOSS
System Overview MOSS INTERNET MOSS Server System CodeCop System 1. MOSS Application 2. Email Server 3. Email Client CodeCop System 1. CodeCop Application 2. WEB Server (IIS) 3. Database (Access2000) 4. Zip, Tar, UUEncode, UUDecode 5. Email Client 6. Email Server INTERNET From School 1. IE6 From Home 1. IE6 MOSS
Deployment Modularity MS Internet Information Server Element Functions Interface Storage MS Internet Information Server Code Cop Application ASPMail Send JMail Receive SIU-E Code Cop System File I/O Ping CC Login.ASP JVM ZIP Engine Internet MS Access DB SQL I/O JET DB Engine Storage Mail Server MOSS UUE Mail Client MOSS Application SIU-E Users IE6 MOSS
Interface Diagram MOSS User Browser Code Cop System MOSS Physical Interface Physical Interface Email Services Client/Server HTTP HTTP SMTP SMTP Admin Services Service Requests Web Services HTTP Tunnel Instructor Services HTTP HTTP HTTP SMTP Report Notification Ethernet Ethernet MOSS Services HTTP DB Services SQL/Access Communication Subsystem HTTP Send / Receive Communication Subsystem Communication Subsystem Communication Subsystem HTTP MOSS Results File I/O Services HTTP HTTP Drop Box File I/O Services Runtime Services VBS / COM / JVM / DLL Student Services HTTP HTTP Functional Interface Functional Interface MOSS
Entity Relationship Diagram MOSS
Access Relationships MOSS
Design Logic Between Modules Session Variables in ASP. Querystrings used to pass information from one page to another. MOSS
Hardware/Languages MOSS Hardware Decisions: Windows 2000 dedicated server Languages: ASP, HTML, SQL, Visual Basic, Java, C++ 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
Implementation Requirements File Type: Quantity .ASP 105 .C 3 .CLASS 4 .CLS 3 .CPP 4 .CSS 19 .DLL 17 .EXE 1 .FRM 2 .GIF 88 .H 6 .HTML 23 .IDL 1 .JAVA 2 .LIB 1 .MDB 1 Other 53 Total 333 MOSS
Development Tools / Software Microsoft Visual Studio 6.0 Enterprise Edition Third Party Components: ASPMail 4.0 – Used for sending email messages via SMTP ASPUpload – Used to upload files from client to server JMail – Used for receiving email messages using POP3 Nerv – Used to ping MOSS before sending service requests ZaksDir – Used to retrieve file & folder names in CodeCop.DLL MOSS
Code Cop User Interfaces Four Main User Interfaces Login Page Instructor Menu Student Menu Administrator Menu MOSS
Code Cop User Interfaces MOSS
Testing MOSS
CodeCop Test Plan MOSS Inspection testing Module testing Integration testing System testing Acceptance testing MOSS
Deployment Plan MOSS Entire CodeCop application will be in one place Installation on CS Dept. Windows 2000 Server Entire CodeCop application will be in one place Training Sessions with the client Online help Manual MOSS
All Requirements Met MOSS 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
Demonstration MOSS
Retrospective Thoughts… Spiral Lifecycle Model worked well for us to mitigate risk We functioned well as a team by recognizing each other's strengths and valuing each other's opinion We made all decisions as a group and usually combined all of our ideas when a decision had to be made We allowed each other to exercise independence while working on their own individual task We communicated on a very regular basis to make sure things were rolling and we were on track MOSS
Retrospective Thoughts… Everyone was allowed to volunteer for tasks instead of being assigned things things they couldn’t do Everyone had an opportunity to learn something new, HTML, ASP, COM, and Java script Felt lucky cause I had a good group to work with Everybody had fun MOSS
Questions / Answers MOSS