MCTC Web System - Ver. 1.1.9. Marshall Community & Technical College Web System Development By Nicholas Napier 1 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Marshall Community & Technical College Web System Development Nicholas Napier IS605 – Systems Analysis 2 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Revision History Date Version Description Author Draft Compilation – Charter. Nicholas Napier 10/26/07 1.0 10/30/07 1.0.1 Charter Update. Nicholas Napier 11/05/07 1.0.2 Cost Analysis Reformulation, Objective Addition, Reformatting of Overall Content and Margins. Nicholas Napier 11/06/07 1.0.3 Historical Context Manipulation, Deliverable Update, Basic Grammar Correction. Nicholas Napier 11/09/07 1.0.4 Added Context Level Diagram and Data Dictionary. Nicholas Napier 11/11/07 1.0.5 Added Level 0 Diagrams. Nicholas Napier 11/12/07 1.0.6 Began work on Process Specifications. Nicholas Napier 11/13/07 1.0.7 Continued Work on Process Specifications. Nicholas Napier 11/14/07 1.0.8 Continued Document Structure Outline Nicholas Napier 11/16/07 1.0.9 Updated Data Dictionaries to Reflect Issue Found During Specification. Nicholas Napier 11/20/07 1.1 Completed Full Range of Use Case Templates. Nicholas Napier 11/21/07 1.1.1 Continued Work on Use Cases. Nicholas Napier 11/23/07 1.1.2 Continued Work on Use Cases and Process Specifications. Nicholas Napier 11/26/07 1.1.3 Added a Few of the Use Case Diagrams to Document to Begin Layout and Continued Process Specifications. Nicholas Napier 12/01/07 1.1.4 Finished Process Specifications and Use Case Narratives. Nicholas Napier 12/02/07 1.1.5 Finalized Pert Diagrams, Update Data Dictionary Issue, Created Sequence Diagrams, and Finished System Requirements. Nicholas Napier 02/24/08 1.1.6 Update of Data Definitions and Document Layout. Nicholas Napier 04/01/08 1.1.7 Extended Documentation Sections and Added Form Images and Basic Descriptions. Nicholas Napier 04/06/08 1.1.8 Added Menu Images, Descriptions, Nicholas Napier 04/07/08 1.1.9 Added Control Modules, Functional Requirements, Descriptions, and Expanded Output Mockups. Nicholas Napier 3 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Table of Contents 1.1.1. Historical Context ............................................................................................................ 5 1.1.2. Goals................................................................................................................................. 6 1.1.3. Objectives ......................................................................................................................... 7 1.1.4. Scope ................................................................................................................................ 8 1.1.5. General System Requirements .............................................................................................. 8 1.1.6. Deliverables .......................................................................................................................... 9 1.1.7. Cost Benefit Analysis ......................................................................................................... 10 1.2. Project Task Management...................................................................................................... 11 2.1. Context Level Diagram .......................................................................................................... 13 2.2. Data Definitions ..................................................................................................................... 14 2.3.1. Level 0 - Data Flow Diagram ............................................................................................. 19 2.3.2. Process Specifications ......................................................................................................... 23 2.4.1. Use Cases ....................................................................................................................... 32 2.4.2. Use Case Narratives ............................................................................................................ 36 2.4.3. Sequence Diagrams ............................................................................................................. 41 2.4.4. Class Diagram ..................................................................................................................... 42 2.5. Control Structure Modules ..................................................................................................... 43 2.6. Functional System Requirements .......................................................................................... 43 2.6.1. General System Requirements ............................................................................................ 43 2.6.2. Data Stores .......................................................................................................................... 44 2.6.3. Reports ................................................................................................................................ 44 2.6.4. Procedures ........................................................................................................................... 44 2.7. Updated P.E.R.T. Diagram .................................................................................................... 44 3. Design ....................................................................................................................................... 45 3.1. Inputs...................................................................................................................................... 45 3.1.1 Form Design......................................................................................................................... 45 3.1.2. Screen Design ..................................................................................................................... 53 3.2. Outputs ................................................................................................................................... 53 3.2.1. Screens ................................................................................................................................ 53 3.3. Menus ..................................................................................................................................... 53 3.4. Programming Requirements .................................................................................................. 55 4. Hardware Requirements............................................................................................................ 56 4.1. Local Hardware ...................................................................................................................... 56 4.2. Server Hardware .................................................................................................................... 56 4.3. Networking ............................................................................................................................ 57 5. Implementation Plan ................................................................................................................. 57 5.1. Method ................................................................................................................................... 57 5.2. Timeline ................................................................................................................................. 58 5.3. Costs....................................................................................................................................... 58 6. Users ......................................................................................................................................... 59 4 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 1.1.1. Historical Context By providing access to all institutional data, documents, contacts, programs and courses, and news, the MCTC helps students, faculty, and staff to keep on track without the need to contact countless departments during business hours for basic information. Online access not only saves time but also allows staff to concentrate on more important tasks than answering repetitive queries. Future students and faculty use the web as a convenient and affective search tool to quickly compare multiple colleges. The MCTC website, like other colleges, is listed in search engine directories such as Google™ and Yahoo™ to help promote its programs to visitors. By updating the website and its features on a daily basis and periodically submitting it to link lists, the MCTC ranking and exposure increases. A website is often a college or job seekers first and only impression of an institution, which is why the design, interface, content, and data must be up-to-date and of the highest possible quality. 5 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. The cost of printing and mailing institutional information continues to rise while the price of hosting documents online becomes lower with the constant advent of new technologies and communication methods. With program, course, contact, and admission information available online for public access, the need to generate and produce expensive paper mailings is greatly reduced, and at times, completely unnecessary. By creating a single portal for MCTC students, faculty, and staff to access college news and information, a sense of community is attained. With multiple surveys and interactive features such as database driven course and contact information and the advanced website search tool, students gain a feeling of comfort that support documents and faculty will always be available. 1.1.2. Goals The goal of the new Marshall Community & Technical College web system is to provide a centralized informational gateway for students, faculty, staff, and visitors. Another major goal is to create a more affective interface design through outsourcing the graphic design to Bulldog Creative Services based in Huntington WV. The navigation and dataflow structure will also be updated to help visitors find information more efficiently. With the helpful yet confusing features of “myMU” and “WebCT Vista” used by Marshall University, the Marshall Community & Technical College wishes to create a student and faculty backend. The backend will provide a way to communicate and share institutional data and files through secure 128bit SSL encrypted means. With the use of secure account verification emails sent only to valid Marshall Addresses, initial password and account information will be kept inside the college. 6 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 1.1.3. Objectives The primary objective of the Marshall Community & Technical College is to help advertise the high quality programs available at the institution while making all information and content as easy to navigate and understand as possible. Many faculty and staff have brought up concerns about the uniformity and validity of content on the MCTC website. To answer the concerns of the faculty and staff, all content will be placed within a database to centralize and provide a means to quickly and securely update all information without the need for timely HTML modifications. Major Project Objectives 1.) Centralize all institutional information. 2.) Create a more attractive interface design (Design outsourced to Bulldog Creative Services). 3.) Convert all text content to database tables (MySQL database). 7 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 4.) Introduce a dynamic template system for all pages to ensure uniformity (CSS layout structure). 5.) Provide a secure communication gateway for students, faculty, and staff. 6.) Create an effective way to advertise the institution. 7.) Increase website visibility through search engine optimization and Google TM AdWords. 8.) Reduce printing costs with more online marketing. 9.) Improve overall visitor experience through testing and direct faculty and student feedback. 1.1.4. Scope The Marshall Community & Technical College Web System will take around 2 months to complete at 20 hours per week. The website interface design will be outsourced to Bulldog Creative Services to expedite template design. All CSS layouts, PHP programming, database design, system planning and development, marketing, content management, and maintenance will be handled by Nicholas Napier, the current MCTC Webmaster. 1.1.5. General System Requirements The general web system requirements are to enable the MCTC to instantly update content to keep the website up-to-date for accreditation and program data uniformity. The MCTC Web System will require the use of an offsite server hosted by: Host Monster, inc. – http://www.hostmonster.com The VPS host provides all development language, database, email server, and administration software required for the system. Host Monster also provides 3000 gigs of transfer per month, 8 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 300 gigs of storage, unlimited email, databases, and domains, and an easy to use C-Panel administration panel. General Server Requirements 1.) Web server capable of displaying PHP pages 2.) Email Server capable of forwarding all server emails to external Marshall accounts 3.) MySQL Database 4.) phpMyAdmin for quick database manipulation 5.) Root SSH access to control file structure and ModRewrite capabilities 6.) Upgradable transfer plan to allow for future traffic increases 1.1.6. Deliverables Deliverable Project Charter - 1.1 Project Management Documentation - 1.2 Context Level Diagram - 2.1 Data Definitions - 2.2 Data Flow Diagrams - 2.3 Object Oriented Design - 2.4 E/R Diagrams - 2.5 Functional System Requirements - 2.6 Completion Date October 30th November November November November December December December Estimated Man Hours 6 4 1 4 12 15 10 5 Total Man Hours: 57 9 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 1.1.7. Cost Benefit Analysis The move offsite for the MCTC will enable the institute to have full control of its website without the need to constantly request features from Marshall University, will save weeks of development time and money. The hosting is inexpensive and all development, content compilation, and maintenance will be done in-house by the MCTC webmaster. Outsourcing all custom development could easily cost $10,000 from a respectable web development company, however below is a listing of the estimated cost for in-house production: Developmental Function Hours Amount Web Hosting Per Year (tax free) $93.00 Domain Registration Per Year (tax free) $7.95 Research & Content Preparation 20 @ $12 per hour $240.00 Development 80 @ $12 per hour $960.00 Initial Development Estimate Total: $1,300.95 10 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Yearly Maintenance Function Hours Amount Content/Data Population 156 @ $12 per hour* $1,872.00 Research and Feature Development 104 @ $12 per hour** $1,248.00 Domain Registration Per Year (tax free) $7.95 Web Hosting Per Year (tax free) $93.00 *3 hours per week = 52 weeks * 3 hrs. per week = 156 hours **2 hours per week = 52 weeks * 2 hrs. per week = 104 hours Yearly Maintenance Estimate Total: $3,220.95 1.2. Project Task Management 11 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 12 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 2.1. Context Level Diagram 13 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 2.2. Data Definitions accounts Field Name Data Type Description id int(10) Unique Account KEY user varchar(50) Username - Email address pass varchar(15) Password - Char, Int, & Symbols lvl int(2) Account Level* department_id Int(10) Foreign KEY - departments *0: inactive, 1: standard, 2: program manager, 3: department manager, 4: site administrator biographies Field Name Data Type Description id int(10) Unique Biography KEY first varchar(50) First Name last varchar(50) Last Name phone int(11) Phone Number in Plain Integer Format (no symbols or characters) fax int(11) Fax in Plain Integer Format (no symbols or characters) building int(2) Building ID. office varchar(6) Office Number title varchar(50) Title/Position of Faculty or Staff email varchar(30) Email Address description text Bigraphical Description img int(1) Image reference* account_id int(10) Foreign KEY - accounts Field Name Data Type Description id int(10) Unique Page KEY title varchar(100) Page Title type int(2) Type of page (d: departments, p: program, m: main) lvl int(2) Page level from parent parent_id int(10) Parent Page ID. Field Name Data Type Description id int(10) Unique Content KEY title varchar(50) Content Title *0: no image, 1: image pages content 14 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. content text Content (slashes added to special characters)* page_id int(10) Foreign KEY - pages Field Name Data Type Description id int(10) Unique Department KEY title varchar(50) Department Title lvl int(2) Institution Hierarchal Level parent_id Int(10) Parent Department ID Field Name Data Type Description id int(10) Unique Program KEY title varchar(50) Program Title type int(2) Type of Program* description Text Program Description Text. department_id int(10) Foreign KEY - departments *HTML/CSS Code departments programs *0: non-credit, 1: certificate, 2: associate majors Field Name Data Type Description id int(10) Unique Major KEY title varchar(50) Major Title description text Major Description acronym varchar(10) Major Title Acronym img int(1) Image reference* program_id int(10) Foreign KEY - programs Field Name Data Type Description id int(10) Unique Option KEY title varchar(100) Option Title description text Option Description Text img int(1) Image reference* major_id int(10) Foreign KEY - majors *0: no image, 1: image options *0: no image, 1: image 15 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. courses Field Name Data Type Description id int(10) Unique Course KEY type int(1) Type of Course* crn int(4) Course Reference Number (i.e. - 1234) num varchar(4) Course Number (i.e. - 101, 101L) section int(3) Section Number (i.e. - 101) title varchar(100) Course Title description text Course Description semester varchar(7) Semester Reference (i.e. - F07) days varchar(6) Meet days (M,T,W,TR,F) start int(15) Unix Timestamp Format (start date and time) end int(15) Unix Timestamp Format (end date and time) building int(2) Building ID room varchar(6) Room Number prereq varchar(30) Prerequisites to Take Course credit int(2) Credit Hours for course (0: non-credit) maximum int(3) Maximum Number of Students hours int(4) Number Class Time Hours (non-credit use) cost varchar(10) Cost of Course (non-credit use) length varchar(20) Class Length. date Int(15) Unix Timestamp Format (date and time of support request) *0: non-credit, 1: credit news Field Name Data Type Description id int(10) Unique News KEY title varchar(100) News Event Title description text News Event Description type int(2) News Type* date int(15) Unix Timestamp Format (event date and time) reference_id int(10) Foreign KEY - Reference to Department or Program account_id Int(10) Foreign KEY – Reference to Account *0: main, 1: department, 2: program surveys Field Name Data Type Description id int(10) Unique Survey ID title varchar(50) Survey Title 16 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. description int(15) Survey Description type int(2) Survey Type* start int(15) Unix Timestamp Format (start date and time of survey) end int(15) Unix Timestamp Format (end date and time of survey) *0: public, 1: department, 2: program questions Field Name id question type survey_id Data Type int(10) varchar(300) int(1) int(10) Description Unique Question ID Survey Question Question Type* Foreign KEY - surveys *0: T/F, 1: short answer, 2: essay, 3: multiple choice answers Field Name id answer question_id Data Type int(10) text int(10) Description Unique Answer ID Answer to Survey Question Foreign KEY - questions Data Type int(10) varchar(50) int(15) int(2) int(15) int(15) int(10) Description Unique Election ID Election Title Election Description Election Type* Unix Timestamp Format (start date and time of election) Unix Timestamp Format (end date and time of election) Foreign KEY - accounts (election creator) elections Field Name id title description type start end account_id *0: public, 1: department, 2: program candidates Field Name id first last phone fax address city state zip title email description img account_id 17 Data Type int(10) varchar(50) varchar(50) int(11) int(11) varchar(50) varchar(6) varchar(2) int(5) varchar(50) varchar(30) varchar(500) int(1) int(10) Description Unique Candidate KEY First Name Last Name Phone Number in Plain Integer Format (no symbols or characters) Fax in Plain Integer Format (no symbols or characters) Candidate Address Office Number State Acronym Zipcode Title/Position of Candidate Email Address Candidate Biographical Description Image reference (0: no image, 1: image) Foreign KEY - accounts (nominated by) LU: 04/07/08 MCTC Web System - Ver. 1.1.9. voters Field Name Data Type Description id int(10) Unique Voter ID election_id int(10) Foreign KEY - election account_id int(10) Foreign KEY - accounts Field Name Data Type Description id int(10) Unique Vote ID date int(15) Unix Timestamp Format (date and time of vote) candidate_id int(10) Foreign KEY - candidates election_id int(10) Foreign KEY - elections voter_id int(10) Foreign KEY - voters Field Name Data Type Description id int(10) Unique Support ID date int(15) Unix Timestamp Format (date and time of support request) request text Support Request file int(1) File Reference* building int(2) Building ID office varchar(6) Office Number Status Int(1) Status of support** Support Text Support Information. account_id int(10) Foreign KEY – account votes Support *0: no file(s), 1: file(s) **0: not solved, 1: solved 18 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 2.3.1. Level 0 - Data Flow Diagram 19 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 20 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 21 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 22 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 2.3.2. Process Specifications Number Name Description 2 Request Page Submit a URL based request to the controller class to request a page display. Input Data Flow Valid Section Name Valid Page Name Action ID Reference Output Data Flow Formatted and Preprocessed HTML. Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual IF section is equal to section array Then GET page IF page exists in page table Then GET content Compile Template Return HTML ELSE Return Error ENDIF ELSE Return Error ENDIF Refer to Name: Structured Eng. Unresolved Issue 23 X Decision Table Decision Tree LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Number Name Description 12 Create Account Add an account. If account exists, deny creation. Input Data Flow Form Data Confirmation Output Data Flow Account Addition Success Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual Display Confirmation Message (Case 56) IF form is complete AND account does not exist AND confirmation = true Then Store fields in account table Return success message template ELSE Return to form with Validation Error ENDIF Refer to Name: Structured Eng. Unresolved Issue Number Name Description X Decision Table Decision Tree 13 Create Page Add a new page to an exixting section. Input Data Flow Form Data Confirmation Output Data Flow Page Addition Success Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual Display Confirmation Message (Case 56) IF form is complete AND page does not exist AND confirmation = true Then Store fields in page table Return success message template ELSE Return to form with Validation Error ENDIF Refer to Name: Structured Eng. Unresolved Issue 24 X Decision Table Decision Tree LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Number Name Description 14 Create Content Add content to an existing page. Input Data Flow Page Reference Form Data Confirmation Output Data Flow Content Addition Success Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual Display Confirmation Message (Case 56) IF form is complete AND content does not exist AND confirmation = true Then Store fields in content table Return success message template ELSE Return to form with Validation Error ENDIF Refer to Name: Structured Eng. Unresolved Issue Number Name Description X Decision Table Decision Tree 21 Confirm Creation Present a confirmation message. If confirmed create new record, if not, return to creation form. Input Data Flow Confirmation Request Output Data Flow Confirmation Boolean Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual Display Confirmation Message IF Confirmation is YES Then return TRUE ELSE Return FALSE ENDIF Refer to Name: Structured Eng. Unresolved Issue 25 X Decision Table Decision Tree LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Number Name Description 22 Display Page Provide page template. If URL valid, present page, If not then throw error. Input Data Flow Page Title / ID Output Data Flow Compiled Page Content Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual IF page exists in page table Then GET content (case 23) AND page Compile Template Return HTML ELSE Return Error ENDIF Refer to Name: Structured Eng. Unresolved Issue Number Name Description X Decision Table Decision Tree 23 Read Content Return content into page template by page identifier. If page does not exist, return error. Input Data Flow Content ID Output Data Flow Compiled Content Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual IF content exists in content table Then GET content Compile Template Return HTML ELSE Return Error ENDIF Refer to Name: Structured Eng. Unresolved Issue 26 X Decision Table Decision Tree LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Number Name Description 39 Read Account Return account listing by department. Input Data Flow Account ID Output Data Flow Account Array Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual IF account exists in accounts table Then GET account data Return account array ELSE Return Error ENDIF Refer to Name: Structured Eng. Unresolved Issue Number Name Description X Decision Table Decision Tree 47 Update Account Modify account information. If not admin, throw error. Input Data Flow Account ID Form Data Output Data Flow Account Update Success Type of Process Online Process Logic: Subprogram/Function Name X Batch Manual Display Confirmation Message (Case 56) IF form is complete AND account exists AND confirmation = true Then Update fields in accounts table Return success message template ELSE Return to form with Validation Error ENDIF Refer to Name: Structured Eng. Decision Table X Unresolved Issue 27 Decision Tree LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Number Name Description 48 Update Pages Modify page. If not admin, throw error. Input Data Flow Page ID Form Data Confirmation Output Data Flow Update Page Success Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual Display Confirmation Message (Case 56) IF form is complete AND page exists AND confirmation = true Then Update fields in pages table Return success message template ELSE Return to form with Validation Error ENDIF Refer to Name: Structured Eng. Unresolved Issue Number Name Description X Decision Table Decision Tree 49 Update Content Modify content by page. If not admin, throw error. Input Data Flow Content ID Form Data Confirmation Output Data Flow Update Content Success Type of Process Online Process Logic: Subprogram/Function Name X Batch Manual Display Confirmation Message (Case 56) IF form is complete AND content exists AND confirmation = true Then Update fields in content table Return success message template ELSE Return to form with Validation Error ENDIF Refer to Name: Structured Eng. Decision Table X Unresolved Issue 28 Decision Tree LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Number Name Description 56 Confirm Update Display an update confirmation. If confirmed, update record, if not then return to update page. Input Data Flow Confirmation Request Output Data Flow Confirmation Boolean Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual Display Confirmation Message IF Confirmation is YES Then return TRUE ELSE Return FALSE ENDIF Refer to Name: Structured Eng. Unresolved Issue Number Name Description X Decision Table Decision Tree 63 Delete Account Set account level to 0: inactive and remove associated biography record. If not admin, throw error. Input Data Flow Account ID Confirmation Output Data Flow Account Deletion Success Type of Process Online X Batch Process Logic: Display Confirmation Message (Case 72) IF account is in accounts table AND confirmation = true Then Delete row in accounts table Return success message template ELSE Return to form with Validation Error ENDIF Refer to Name: Structured Eng. Unresolved Issue 29 X Decision Table Subprogram/Function Name Manual Decision Tree LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Number Name Description 64 Delete Page Remove a page and its associated content. If not admin, throw error. Input Data Flow Page ID Confirmation Output Data Flow Page Deletion Success Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual Display Confirmation Message (Case 72) IF page is in pages table AND confirmation = true Then Delete row in pages table Return success message template ELSE Return to form with Validation Error ENDIF Refer to Name: Structured Eng. Unresolved Issue Number Name Description X Decision Table Decision Tree 65 Delete Content Remove content. If not admin, throw error. Input Data Flow Content ID Confirmation Output Data Flow Content Delete Success Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual Display Confirmation Message (Case 72) IF account is in accounts table AND confirmation = true Then Delete row in accounts table Return success message template ELSE Return to form with Validation Error ENDIF Refer to Name: Structured Eng. Unresolved Issue 30 X Decision Table Decision Tree LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Number Name Description 72 Confirm Delete Display a deletion confirmation message. If confirmed, delete record and its associations, if not confirmed then return to listing. Input Data Flow Confirmation Request Output Data Flow Confirmation Boolean Type of Process Online Process Logic: Subprogram/Function Name Batch X Manual Display Confirmation Message IF Confirmation is YES Then return TRUE ELSE Return FALSE ENDIF Refer to Name: Structured Eng. Unresolved Issue 31 X Decision Table Decision Tree LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 2.4.1. Use Cases Page Cases 32 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 33 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Account Cases 34 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 35 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 2.4.2. Use Case Narratives Use Case Name: Area: Actor(s): Description: Triggering Event: Trigger Type: UniqueID: Page RQ 002 Page Request Global Staff, Faculty, Admin Allows actors to request pages within the website by Page Title with ID, Sub, and Action attributes. Actors click on link on Webpage. External Steps Performed (Main Path) Information for Steps 1. Actor Clicks Link. Page Title, ID, Sub, or Action. 2. Page is verified to exist. Page ID 3. Page ID is sent to Display. Page ID Preconditions: Page Exists in Database and URL is valid. Postconditions: Actor views page change. Assumptions: Actor has a compatible web browser. Requirements Met: Returns page ID to Page Display process. Outstanding Issues: None Priority: Medium Risk: Low Use Case Name: Area: Actor(s): Description: Triggering Event: Trigger Type: UniqueID: Page R 022 Page Display Global Staff, Faculty, Admin Allows actors to view database driven template pages. Actors click on valid link on webpage. External Steps Performed (Main Path) Information for Steps 1. Actor Clicks Link. Page Title, ID, Sub, or Action. 2. Page is verified to exist and returns page information. Page ID 3. Content for page is returned. Page ID 4. Final page is compiled. Page Data, Content 5. Page is returned in HTML format. Page Preconditions: Page Exists in Database and URL is valid. Postconditions: Actor views the page. Assumptions: Actor has a compatible web browser. Requirements Met: Allows actors to view a webpage in plain HTML format. Outstanding Issues: None. Priority: Medium Risk: Low 36 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Use Case Name: Area: Actor(s): Description: Triggering Event: Trigger Type: UniqueID: Page C 013 Page Create Secure Content Administration Admin Allows Administrator to create a new page by inputting title, description, level, parent, and section using the secure area. Admin uses Admin section, enters username and pass, and clicks the “Submit” button External Steps Performed (Main Path) Information for Steps 1. Admin logs into the Secure Admin Area. User, Pass 2. Admin credentials are read and Admin is verified. Account Record, User, Pass 3. Admin area options page is displayed. Account Level 4. Admin choices to “Add New Page.” Action 5. Admin enters data in Add New Page form and clicks “Submit” button. Create Page Web Form 6. Page is compared to other pages to verify that it is unique. Create Page Web Form 7. Page is added to the pages record. Create Page Web Form 8. Confirmation is displayed to the Admin. Confirmation Page Preconditions: Page is unique and does not exist in pages store. Postconditions: Admin receives creation confirmation. Assumptions: Admin has valid account. Requirements Met: Allows Admin to add new pages to the website. Outstanding Issues: None. Priority: Medium Risk: High Use Case Name: Area: Actor(s): Description: UniqueID: Page D 064 Page Delete Secure Content Administration Admin Allows Administrator to delete pages by title. Admin uses Admin section, enters username and pass, and clicks the “Submit” button. External Triggering Event: Trigger Type: Steps Performed (Main Path) Information for Steps 1. Admin logs into the Secure Admin Area. User, Pass 2. Admin credentials are read and Admin is verified. Account Record, User, Pass 3. Admin area options page is displayed. Account Level 4. Admin choices to “View Sections” Action 5. Admin Choice section. Section ID 6. Section pages are displayed. Page Records, Section ID 5. Admin clicks “Delete” button next to page. Page ID, Action 6. A delete verification message is displayed. Verification Form, Page ID 37 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 7. Page is deleted from the pages store. Page ID 8. Page content is deleted from the content store. Page ID 8. Confirmation is displayed to the Admin. Confirmation Page Preconditions: Page exists and has content. Postconditions: Admin receives deletion confirmation. Assumptions: Admin has valid account. Requirements Met: Allows Admin to delete pages from the website. Outstanding Issues: None. Priority: Medium Risk: High Use Case Name: Area: Actor(s): Description: UniqueID: Account C 012 Account Create Secure Content Administration Admin Allows Administrator to create a new staff or faculty account. Admin uses Admin section, enters username and pass, and clicks the “Submit” button External Triggering Event: Trigger Type: Steps Performed (Main Path) Information for Steps 1. Admin logs into the Secure Admin Area. User, Pass 2. Admin credentials are read and Admin is verified. Account Record, User, Pass 3. Admin area options page is displayed. Account Level 4. Admin choices to “Add New Account.” Action 5. Admin completes New Account form and clicks “Submit” Create Account Form 6. Account is compared with other accounts to verify that it is unique. Create Account Form 7. Account is added to the accounts record. Create Account Form 8. Confirmation is displayed to the Admin. Confirmation Page Preconditions: Account is unique and does not exist in accounts store. Postconditions: Admin receives creation confirmation. Assumptions: Admin has valid account. Requirements Met: Allows Admin to add new accounts to the website. Outstanding Issues: None. Priority: High Risk: High Use Case Name: Area: Actor(s): Description: Triggering Event: Trigger Type: Account Read Secure Content Administration Admin Allows admin to view account. Admin clicks on account name. External Steps Performed (Main Path) 38 UniqueID: Account R 039 Information for Steps LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 1. Admin chooses Department. Department ID 2. Admin chooses Account. Account ID 3. Account data is returned. Account Record Preconditions: Admin is logged in and account exists. Postconditions: Admin views account information. Assumptions: Actor has a compatible web browser. Requirements Met: Allows actors to view account information. Outstanding Issues: None. Priority: High Risk: Low Use Case Name: Area: Actor(s): Description: UniqueID: Account U 047 Account Update Secure Content Administration Admin Allows Administrator to update account by ID. Admin uses Admin section, enters username and pass, and clicks the “Submit” button. External Triggering Event: Trigger Type: Steps Performed (Main Path) Information for Steps 1. Admin logs into the Secure Admin Area. User, Pass 2. Admin credentials are read and Admin is verified. Account Record, User, Pass 3. Admin area options page is displayed. Account Level 4. Admin chooses to “View Departments” Action 5. Admin chooses department. Department ID 6. Department accounts are displayed. Account Records, Department ID 7. Admin clicks “Update” button next to account. Account ID, Action 8. Admin completes the Update Account form. Account Update form, Account ID 9. Account is verified to exist in accounts store. Account ID 10. Account is updated in store. Account Update form, Account ID 11. Confirmation is displayed to the Admin. Confirmation Page Preconditions: Account exists. Postconditions: Admin receives update confirmation. Assumptions: Admin has valid account. Requirements Met: Allows Admin to update staff and faculty accounts. Outstanding Issues: None. Priority: High Risk: High 39 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Use Case Name: Area: Actor(s): Description: Triggering Event: Trigger Type: UniqueID: Account D 063 Account Delete Secure Content Administration Admin Allows Administrator to delete account by ID. Admin uses Admin section, enters username and pass, and clicks the “Submit” button. External Steps Performed (Main Path) Information for Steps 1. Admin logs into the Secure Admin Area. User, Pass 2. Admin credentials are read and Admin is verified. Account Record, User, Pass 3. Admin area options page is displayed. Account Level 4. Admin chooses to “View Departments” Action 5. Admin chooses department. Department ID 6. Department accounts are displayed. Account Records, Department ID 7. Admin clicks “Delete” button next to account. Account ID, Action 8. A delete verification message is displayed. Verification Form, Account ID 9. Account is deleted from the accounts store. Account ID 10. Account biography is deleted from the biographies store. Account ID 11. Confirmation is displayed to the Admin. Confirmation Page Preconditions: Account exists and has content. Postconditions: Admin receives deletion confirmation. Assumptions: Admin has valid account. Requirements Met: Allows Admin to delete accounts from the website. Outstanding Issues: None. Priority: High Risk: High 40 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 2.4.3. Sequence Diagrams 41 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 2.4.4. Class Diagram 42 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 2.5. Control Structure Modules 2.6. Functional System Requirements The Functional System Requirements documentation will define the functionality, external interfaces, performance, attributes, and design constraints for the MCTC Web System. 2.6.1. General System Requirements The MCTC Web System is designed to provide an interactive online gateway for students, faculty, and staff of the Marshall Community & Technical College. The system will enable visitors to view detailed information about the MCTC, apply for registration, and interact directly with faculty and staff. The system will also provide faculty and staff a way to post program and department news, information, and files without the need of a web administrator. 43 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 2.6.2. Data Stores All data will be stored within a secure MySQL database on the VPS server. The database name is “mctc” and it will be used for page content, section data, and account storage. For a complete listing of all database tables and fields, please refer to 2.2 Data Definitions. Documents will be stored in the following possible formats: Adobe PDF Microsoft Word Microsoft Excel Microsoft PowerPoint Documents will be served online through the content controller and will be accessible through a short virtual URL structure. 2.6.3. Reports 2.6.4. Procedures 2.7. Updated P.E.R.T. Diagram 44 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 3. Design 3.1. Inputs The MCTC System requires data and file upload input through traditional and AJAX web forms and framework. Visitors will submit search queries, information requests, account logins and details, and section modification information. 3.1.1 Form Design Search Account Login 45 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Interest Request 46 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Admission Application (Next 3 Pages…) Admission Application (Continued…) 47 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Admission Application (Continued…) 48 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 49 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Telecounseling - Call Management Form 50 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Note/Comment/History Submission (AJAX) Class Scheduler (AJAX) 51 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Telecounseling – Contact Update Form 52 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 3.1.2. Screen Design 3.2. Outputs 3.2.1. Screens 3.3. Menus Main Menu Main Menu (Expanded) 53 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Vertical Body Menu Vertical Body Menu (Hover) Advising Panel Menu 54 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. Advising Panel Menu (Expanded) 3.4. Programming Requirements 55 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 4. Hardware Requirements The internal and web based MCTC System requires a secure gigabit network, client systems, and a web and database server. 4.1. Local Hardware 4.2. Server Hardware 56 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 4.3. Networking 5. Implementation Plan 5.1. Method 57 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 5.2. Timeline 5.3. Costs 58 LU: 04/07/08 MCTC Web System - Ver. 1.1.9. 6. Users 59 LU: 04/07/08