Final Presentation -Senior Project- MOSS Presentation Agenda • • • • • • • • • • Introduction / Project Definition Requirements / Analysis Project Plan System Design Implementation Testing Deployment / Training Demo Retrospective Thoughts Questions / Answers MOSS Organizational Plan 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 • 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 • 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 RISK 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 MOSS Our Solution 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 CodeCop Requirements Analysis Document • Contract • Ethics Document Microsoft Source Safe • Project Plan Configuration • Software Style Guide Management • Software Design Document • Database Dictionary • Test Plan • Installation Guide • Version Description Document • Users Manual / Training • Presentations • Demonstrations MOSS Code Cop Project Lifecycle Contract signed by client CS425 final presentation CS499 final presentation MOSS Everyone Rhonda Keith Alan Ryan Everyone System Design MOSS System Overview MOSS Server System INTERNET 1. MOSS Application 2. Email Server 3. Email Client CodeCop System 1. 2. 3. 4. 5. 6. CodeCop Application WEB Server (IIS) Database (Access2000) Zip, Tar, UUEncode, UUDecode Email Client Email Server From School 1. IE6 From Home 1. IE6 MOSS Deployment Modularity Element Functions Interface MS Internet Information Server ASPMail Send JMail Receive Storage File I/O CC Login.ASP JVM Ping Code Cop Application ZIP Engine MS Access DB SQL I/O JET DB Engine Internet SIU-E Code Cop System Mail Server MOSS Storage UUE Mail Client MOSS Application SIU-E Users IE6 MOSS Interface Diagram User Browser Code Cop System Physical Interface Physical Interface HTTP File I/O Services HTTP Student Services HTTP Ethernet Functional Interface Email Services SMTP Client/Server HTTP Web Services HTTP Tunnel HTTP DB Services SQL/Access HTTP HTTP Drop Box File I/O Services HTTP Runtime Services VBS / COM / JVM / DLL Ethernet Communication Subsystem MOSS Services Send / Receive HTTP Communication Subsystem Instructor Services HTTP Communication Subsystem HTTP Communication Subsystem Admin Services MOSS SMTP Service Requests SMTP Report Notification HTTP MOSS Results 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 1. Hardware Decisions: Windows 2000 dedicated server 2. 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 .C .CLASS .CLS .CPP .CSS .DLL .EXE .FRM .GIF .H .HTML .IDL .JAVA .LIB .MDB Other 105 3 4 3 4 19 17 1 2 88 6 23 1 2 1 1 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 1. Login Page 2. Instructor Menu 3. Student Menu 4. Administrator Menu MOSS Code Cop User Interfaces MOSS Testing MOSS CodeCop Test Plan 1. Inspection testing 2. Module testing 3. Integration testing 4. System testing 5. Acceptance testing MOSS Deployment Plan • 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 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