Design and Implementation of a Web Server Application for Students to Submit Assignments

Total Page:16

File Type:pdf, Size:1020Kb

Design and Implementation of a Web Server Application for Students to Submit Assignments University of Montana ScholarWorks at University of Montana Graduate Student Theses, Dissertations, & Professional Papers Graduate School 2001 Design and implementation of a web server application for students to submit assignments Yuehua Yang The University of Montana Follow this and additional works at: https://scholarworks.umt.edu/etd Let us know how access to this document benefits ou.y Recommended Citation Yang, Yuehua, "Design and implementation of a web server application for students to submit assignments" (2001). Graduate Student Theses, Dissertations, & Professional Papers. 5504. https://scholarworks.umt.edu/etd/5504 This Thesis is brought to you for free and open access by the Graduate School at ScholarWorks at University of Montana. It has been accepted for inclusion in Graduate Student Theses, Dissertations, & Professional Papers by an authorized administrator of ScholarWorks at University of Montana. For more information, please contact [email protected]. Maureen and Mike MANSFIELD LIBRARY The University oIVIONXANA. f Permission is granted by the author to reproduce this material in its entirety, provided that this material is used for scholarly purposes and is properly cited in published works and reports. ** Please check "Yes" or "No" and provide signature ** Yes, I grant permission No, I do not grant permission ______ Author's Signature 1 ° * ^ _______ Date A jy f H . 2 6 , 2 ^ > ) _________________________________ Any copying for commercial purposes or financial gain may be undertaken only with tire author's explicit consent. Design and Implementation off a Web Server Application for Students to Submit Assignments By Yuehua Yang B.Sc. University of Anhui Agricultural Science, China, 1981 M. Sc. Graduate School, Chinese Academy of Agricultural Science, China, 1986 Presented in partial fulfillment of the requirements for the degree of Master of Computer Science Department of Computer Science, The University of Montana April,2001 DeSan, Graduate School UMI Number: EP40968 All rights reserved INFORMATION TO ALL U SER S The quality of this reproduction is dependent upon the quality of the copy submitted. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if material had to be removed, a note will indicate the deletion. UMT Dtanrtation Publishing UMI EP40968 Published by ProQuest LLC (2014). Copyright in the Dissertation held by the Author. Microform Edition © ProQuest LLC. All rights reserved. This work is protected against unauthorized copying under Title 17, United States Code Pro^^f ProQuest LLC. 789 East Eisenhower Parkway P.O. Box 1346 Ann Arbor, Ml 48106-1346 Yuehua Yang M.S. April, 2001 Computer Science Design and Implementation of a Web Server Application for Students to Submit Assignments Chairperson: Alden Wright This project is a software engineering approach to the design and implementation of a web server application for students to submit assignments. During the design and analysis of the project, a requirements document, high-level use cases and expended use cases documents, class diagrams and sequence diagrams have been finished. The project uses Java servlet programming to implement the application system. There are two parts in the application system, an instructor part and a student part. For an instructor user, the system allows the instructor to set up a course for students to submit their assignments. The system allows the instructor to set up and to modify the assignment size limitation, to edit the course and student passwords, to check student submission information online, and to delete a student account. The system also allows the instructor to delete his/her course account. For a student user, the system allows each student to set up a password-protected account for assignment Submission. Students can submit their assignments online after they set up their account. The system also allows students to edit their passwords. A web demo of the project has been set up. All of the functionalities in the application work. The design and implementation of the project is summarized in the paper. Some questions and experiences with the design and implementation of the project are also discussed in the paper. A recommendation for future work has been suggested. From this project, I learned a lot of software engineering methodology, from requirements analysis, to elicitation of use cases, to architecture and detail design of the project, to extraction of sequence diagrams and class diagrams. Through the project, I increased the abilities of solving technical problems, which were not familiar areas to me. All of these experiences are very helpful for me to continue to work in the J2EE area. Acknowledgment I would like to thank my advisor Dr. Alden Wright for his assistance, support and encouragement. I would also like to thank Dr. Joel Henry and Dr. Lee Tangedahl for their helpful suggestions. Contents 1. Introduction ....................................................................................................... 1 2. Background ........................................................................................................ 2 3. System Support ................................................................................................. 9 4. Software Development Approach .,....... 10 5. Development Processes ............................................................................... 11 5.1 Requirement Analysis ............ 11 5.2 Design ........................................................................................................... 14 5.2.1 Class Hierarchy ...................................................... 14 5.2.1.1 The Architecture of the Web Server Application System ....... 14 5.2.2 Database Table Design ............................... 16 5.2.3 Sequence Events of a Use Case ........................................................ 17 5.2.3.1 Use Case of “Set up a course” ......... 17 6. Implementation ................... 19 6.1 Coding Languages ........................................... 19 6.2 Coding and Test ........................ 19 7. Discuss ........ 21 7.1 Servlet Programming and Object Oriented Design ..................................... 21 7.1.1 Require/response Oriented ...... : ...................................... 21 7.1.2 User-friendly Interface Design ................................................... 22 7.2 UML for Web Application ............................ 22 7.3 Database Connection .................................................................................... 23 7.4 What I learned in the project ........ 24 8. Summary ............. 26 9. Bibliography ................ 28 10. Appendix A Project Requirements ................................................................... 29 11. Appendix B High-level Use Cases ............ 35 12. Appendix C Expanded Use Cases ............. 37 13. Appendix D Class Diagram .................. 45 14. Appendix E Sequence Diagrams ..................... 49 15. Appendix F System Installation Instruction .................................................... 59 16. Appendix G Project Proposal ...... 68 17. Appendix H A Real Configuration File of srm.conf ...................................... 73 18. Appendix IA Real Configuration File of jser.conf ............................ 78 19. Appendix J A Real Configuration File of jser.property ...................................... 80 1. Introduction The Internet and the World Wide Web have experienced explosive growth over the past decade and are now positioned to provide a wide range of services. Computers have become and will continue to be part of our everyday lives. More and more individuals, organization and business use networks to get and send information. Generally, when a student takes a course in a university, he /she has to finish the required assignments and to submit them to the instructor. In computer-related courses, assignments are often submitted electronically in the form of computer files. Traditionally, when a student wants to submit an assignment electronically, he/she has turn in a floppy disk, to send the file to the instructor by email dr to copy the file to a course directory, which has been set up for that purpose. However, there are four major problems with these methods of submitting assignments: (1) If the floppy disk submission method is used, the instructor has to retrieve the assignment from one floppy disk per student, which will take the instructor a lot of time because the machine reads a file from a floppy disk much slower than from a hard disk. Also, both students and the instructor have to use the same format system to write and read a floppy disk. (2) If the email submission method is used, the instructor has to deal with a large number of email messages, which contain student assignment files. It is not surprising that the instructor may receive more than one hundred emails in a 50-student course for an assignment. A student may send several modified assignment files for an assignment. The instructor has to save these files to a directory and verify and delete duplicate submissions. (3) If the copy-file submission method is used, the student must have an account on the machine where the instructor asks students to copy their files to a course directory. The students can go to the course directory and view other students file information, such as who have submitted their files and when the files have been submitted. Because of this security
Recommended publications
  • Creating Dynamic Web-Based Reporting Dana Rafiee, Destiny Corporation, Wethersfield, CT
    Creating Dynamic Web-based Reporting Dana Rafiee, Destiny Corporation, Wethersfield, CT ABSTRACT OVERVIEW OF SAS/INTRNET SOFTWARE In this hands on workshop, we'll demonstrate and discuss how to take a standard or adhoc report and turn it into a web based First, it is important to understand SAS/INTRNET software and its report that is available on demand in your organization. In the use. workshop, attendees will modify an existing report and display the results in various web based formats, including HTML, PDF Three components are required for the SAS/INTRNET software and RTF. to work. INTRODUCTION 1) Web Server Software – such as Microsoft’s Personal To do this, we’ll use Dreamweaver software as a GUI tool to Web Server/Internet Information Services, or the create HTML web pages. We’ll use SAS/Intrnet software as a Apache Web Server. back end tool to execute SAS programs with parameters selected on the HTML screen presented to the user. 2) Web Browser – Such as Microsoft’s Internet Explorer or Netscape’s Navigator. Our goal is to create the following screen for user input. 3) SAS/INTRNET Software – Called the Application Dispatcher. It is composed of 2 pieces. o SAS Application Server – A SAS program on a Server licensed with the SAS/INTRNET Module. o Application Broker – A Common Gateway Interface (CGI) program that resides on the web server and communicates between the Browser and the Application Server. These components can all reside on the same system, or on different systems. Types of Services 1) Socket Service: is constantly running, waiting for incoming Transactions.
    [Show full text]
  • Modern Web Application Frameworks
    MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Modern Web Application Frameworks MASTER’S THESIS Bc. Jan Pater Brno, autumn 2015 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or ex- cerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Jan Pater Advisor: doc. RNDr. Petr Sojka, Ph.D. i Abstract The aim of this paper was the analysis of major web application frameworks and the design and implementation of applications for website content ma- nagement of Laboratory of Multimedia Electronic Applications and Film festival organized by Faculty of Informatics. The paper introduces readers into web application development problematic and focuses on characte- ristics and specifics of ten selected modern web application frameworks, which were described and compared on the basis of relevant criteria. Practi- cal part of the paper includes the selection of a suitable framework for im- plementation of both applications and describes their design, development process and deployment within the laboratory. ii Keywords Web application, Framework, PHP,Java, Ruby, Python, Laravel, Nette, Phal- con, Rails, Padrino, Django, Flask, Grails, Vaadin, Play, LEMMA, Film fes- tival iii Acknowledgement I would like to show my gratitude to my supervisor doc. RNDr. Petr So- jka, Ph.D. for his advice and comments on this thesis as well as to RNDr. Lukáš Hejtmánek, Ph.D. for his assistance with application deployment and server setup. Many thanks also go to OndˇrejTom for his valuable help and advice during application development.
    [Show full text]
  • Attacking AJAX Web Applications Vulns 2.0 for Web 2.0
    Attacking AJAX Web Applications Vulns 2.0 for Web 2.0 Alex Stamos Zane Lackey [email protected] [email protected] Blackhat Japan October 5, 2006 Information Security Partners, LLC iSECPartners.com Information Security Partners, LLC www.isecpartners.com Agenda • Introduction – Who are we? – Why care about AJAX? • How does AJAX change Web Attacks? • AJAX Background and Technologies • Attacks Against AJAX – Discovery and Method Manipulation – XSS – Cross-Site Request Forgery • Security of Popular Frameworks – Microsoft ATLAS – Google GWT –Java DWR • Q&A 2 Information Security Partners, LLC www.isecpartners.com Introduction • Who are we? – Consultants for iSEC Partners – Application security consultants and researchers – Based in San Francisco • Why listen to this talk? – New technologies are making web app security much more complicated • This is obvious to anybody who reads the paper – MySpace – Yahoo – Worming of XSS – Our Goals for what you should walk away with: • Basic understanding of AJAX and different AJAX technologies • Knowledge of how AJAX changes web attacks • In-depth knowledge on XSS and XSRF in AJAX • An opinion on whether you can trust your AJAX framework to “take care of security” 3 Information Security Partners, LLC www.isecpartners.com Shameless Plug Slide • Special Thanks to: – Scott Stender, Jesse Burns, and Brad Hill of iSEC Partners – Amit Klein and Jeremiah Grossman for doing great work in this area – Rich Cannings at Google • Books by iSECer Himanshu Dwivedi – Securing Storage – Hackers’ Challenge 3 • We are
    [Show full text]
  • Security Guide Release 21.0.2 F10645-01
    1[Oracle®] AutoVue Client/Server Deployment Security Guide Release 21.0.2 F10645-01 October 2018 Oracle® AutoVue Client/Server Deployment Security Guide Release 21.0.2 F10645-01 Copyright © 1999, 2018, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).
    [Show full text]
  • Web Design and Development AAS Requirements
    WEB DESIGN AND DEVELOPMENT Program Overview people changing careers or who wish to take individual The Web Design and Development Program is designed courses to stay current in their existing jobs. to train students to design and develop web sites. Students For more information, visit: will develop a comprehensive understanding of core www.mchenry.edu/webdevelopment design principles and key development strategies. This will include developing sites for deployment on mobile The primary purpose of an Associate in Applied Science devices and standard computers and the development degree is to prepare students for employment. The of static websites and database-driven websites. The AAS degree is not designed specifically for transfer; program will train individuals to become web designers however, there are opportunities to apply some and web developers. Students will learn design theory coursework or the whole degree to a bachelor’s degree as well as gain experience in programming for browsers program. For more information, see an academic and servers. The training is geared toward students with advisor and the department chair. no experience, but will be an excellent opportunity for Requirements for the Associate in Applied Science (AAS) in Web Design and Development Curriculum: OCC 425 Minimum Courses Credit Hours Written Communication 3 (3) ENG 151 Composition I or (3) ENG 152 Composition II Oral Communication 3 (3) SPE 151 Intro to Speech Arts 3 Please see page 65 for AAS Degree course options Humanities Social Science Behavioral Science
    [Show full text]
  • Cloud Computing Synopsis and Recommendations
    Special Publication 800-146 Cloud Computing Synopsis and Recommendations Recommendations of the National Institute of Standards and Technology Lee Badger Tim Grance Robert Patt-Corner Jeff Voas NIST Special Publication 800-146 Cloud Computing Synopsis and Recommendations Recommendations of the National Institute of Standards and Technology Lee Badger Tim Grance Robert Patt-Corner Jeff Voas C O M P U T E R S E C U R I T Y Computer Security Division Information Technology Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899-8930 May 2012 U.S. Department of Commerce John Bryson, Secretary National Institute of Standards and Technology Patrick D. Gallagher, Under Secretary of Commerce for Standards and Technology and Director CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS Reports on Computer Systems Technology The Information Technology Laboratory (ITL) at the National Institute of Standards and Technology (NIST) promotes the U.S. economy and public welfare by providing technical leadership for the nation’s measurement and standards infrastructure. ITL develops tests, test methods, reference data, proof of concept implementations, and technical analysis to advance the development and productive use of information technology. ITL’s responsibilities include the development of management, administrative, technical, and physical standards and guidelines for the cost-effective security and privacy of other than national security-related information in Federal information systems. This Special Publication 800-series reports on ITL’s research, guidance, and outreach efforts in computer security and its collaborative activities with industry, government, and academic organizations. National Institute of Standards and Technology Special Publication 800-146 Natl. Inst. Stand. Technol. Spec. Publ.
    [Show full text]
  • Creating a Dynamic Web Presence
    CREATING A DYNAMIC WHAT’S INSIDE Key Concepts ......................................1 WEB PRESENCE Static vs. Dynamic Websites ..........1 The need for a dynamic web presence has increased dramatically Features of a Dynamic Site ............2 as consumers on the Internet become more knowledgeable Dynamic Techniques ......................2 and more demanding in having their needs filled. With internet Getting Started ....................................2 technologies continuing to evolve rapidly, small businesses 1. Research and Planning .............2 2. Branding and Web can easily create more interactive sites to engage their Development ..............................4 target audiences. Nuts & Bolts .......................................4 1. Select and Register a Domain Name .........................4 Key Concepts 2. Review Hosting Requirements ...5 Static vs. Dynamic Websites 3. Generate Content ......................6 4. Incorporate Interactive Tools.....6 How do they differ? A dynamic website includes elements that allow 5. Address Security, Privacy interaction with visitors, builds relationships through dialogue, and and Legal Issues ........................9 personalizes the whole web experience. Contrast this with a static, or 6. Get Indexed ..............................10 “read only,” site where there really is no way to know who your visitors are unless they contact you. Whether you are designing a site for the 7. Market Your Website ................10 first time or redesigning a current site, the goal of achieving a dynamic
    [Show full text]
  • Oracle Communications Converged Application Server Datasheet
    ORACLE DATA SHEET Oracle Communications Converged Application Server Oracle Communications Converged Application Server is the industry’s most widely used, fastest and most powerful converged Java EE-SIP-IMS application server, delivering a carrier-grade, open, standards-based development and deployment platform for next-generation and enterprise communications applications. As the foundation for several Oracle service delivery products, it is proven to dramatically lower the cost and time of developing and deploying converged Web-telecom applications for communication service providers, enterprises, and contact centers. KEY FEATURES Migration to Communications Application Platforms • Converged Web-telecom application container based on SIP Servlet, IMS, With the explosive proliferation of IP devices such as smartphones, tablets, TVs, home Java EE, Diameter, JSR 309 Media appliances, gaming consoles, and cars, communications service providers (CSP) and Server Control and Web Services enterprises are faced with the operational and business challenges of delivering • SIP Servlet 2.0 built on Java EE 7 innovative services with maximum profitability. In order to achieve this goal, they are includes efficient optimal POJO and CDI interfaces, concurrent session migrating away from expensive, closed, proprietary, application-specific legacy management, web sockets, and platforms, towards virtualized converged communications application platforms. This standard JSON, XML, JAX, JMS dramatically lowers the time and cost of adding new features and extensions to existing interfaces IP-based communication services. It enables CSPs and enterprises to develop and • Virtual Network Function (VNF) deploy applications on a single, unified platform, and re-use those applications across compliance to Network Function Virtualization multiple networks, including the Web, mobile, virtualized, broadband or fixed networks.
    [Show full text]
  • Web Development Frameworks Ruby on Rails VS Google Web Toolkit
    Bachelor thesis Web Development Frameworks Ruby on Rails VS Google Web Toolkit Author: Carlos Gallardo Adrián Extremera Supervisor: Welf Löwe Semester: Spring 2011 Course code: 2DV00E SE-391 82 Kalmar / SE-351 95 Växjö Tel +46 (0)772-28 80 00 [email protected] Lnu.se/dfm Abstract Web programming is getting more and more important every day and as a consequence, many new tools are created in order to help developers design and construct applications quicker, easier and better structured. Apart from different IDEs and Technologies, nowadays Web Frameworks are gaining popularity amongst users since they offer a large range of methods, classes, etc. that allow programmers to create and maintain solid Web systems. This research focuses on two different Web Frameworks: Ruby on Rails and Google Web Toolkit and within this document we will examine some of the most important differences between them during a Web development. Keywords web frameworks, Ruby, Rails, Model-View-Controller, web programming, Java, Google Web Toolkit, web development, code lines i List of Figures Figure 2.1. mraible - History of Web Frameworks....................................................4 Figure 2.2. Java BluePrints - MVC Pattern..............................................................6 Figure 2.3. Libros Web - MVC Architecture.............................................................7 Figure 2.4. Ruby on Rails - Logo.............................................................................8 Figure 2.5. Windaroo Consulting Inc - Ruby on Rails Structure.............................10
    [Show full text]
  • Dynamic Web Acceleration What Is It, Who Needs It, How It Works
    WHITE PAPER Dynamic Web Acceleration What is it, who needs it, how it works TABLE OF CONTENTS Executive Summary ........................................................................................................ 1 The Problem: Inherent Internet Issues ............................................................................. 2 What Causes the Problem? ............................................................................................ 2 The Solution: Dynamic Web Acceleration ....................................................................... 3 Who Can Benefit from Dynamic Web Acceleration ........................................................ 4 The CDNetworks Approach............................................................................................ 4 Case Study: Streamlining the Retail Supply Chain with Dynamic Web Acceleration ........ 5 Conclusion: A Simple Solution for Enhanced eCommerce, Greater Application Adoption, and Lower Costs ............................................................................................................ 6 Appendix: Key Features of CDNetworks’ Dynamic Web Acceleration Solution ............... 7 About CDNetworks ........................................................................................................ 8 Executive Summary Dynamic web acceleration is a service offered by Content Delivery Networks (CDNs) that enables organizations to quickly and reliably deliver applications and dynamic content from a centralized infrastructure to users around the world.
    [Show full text]
  • Session 1 – Main Theme Introduction to Application Servers
    Application Servers Session 1 – Main Theme Introduction to Application Servers Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda 11 IntroductionIntroduction 22 ApplicationApplication ServersServers KeyKey ConceptsConcepts 33 PatternsPatterns andand ApplicationApplication ServersServers 44 ApplicationApplication ServerServer SupportingSupporting TechnologyTechnology 55 ExpectedExpected ApplicationApplication ServerServer FeaturesFeatures 66 RelatedRelated LifecycleLifecycle andand AdoptionAdoption ProcessesProcesses 77 ConclusionConclusion 2 Icons / Metaphors Information Common Realization Knowledge/Competency Pattern Governance Alignment Solution Approach 33 Who am I? - Profile - ¾ 26 years of experience in the Information Technology Industry, including twelve years of experience working for leading IT consulting firms such as Computer Sciences Corporation ¾ PhD in Computer Science from University of Colorado at Boulder ¾ Past CEO and CTO ¾ Held senior management and technical leadership roles in many large IT Strategy and Modernization projects for fortune 500 corporations in the insurance, banking, investment banking, pharmaceutical, retail, and information management industries ¾ Contributed to several high-profile ARPA and NSF research projects ¾ Played an active role as a member of the OMG, ODMG, and X3H2 standards committees and as a Professor of Computer Science at Columbia initially and New York University since 1997 ¾ Proven record of delivering business
    [Show full text]
  • Fiz: a Component Framework for Web Applications
    Fiz: A Component Framework for Web Applications John K. Ousterhout Department of Computer Science Stanford University Abstract Fiz is a framework for developing interactive Web applications. Its overall goal is to raise the level of programming for Web applications, first by providing a set of high-level reusable components that simplify the task of creating interactive Web applications, and second by providing a framework that encourages other people to create addi- tional components. Components in Fiz cover both the front-end of Web applications (managing a browser-based user interface) and the back end (managing the application's data). Fiz makes it possible to create components that encapsulate complex behaviors such as Ajax-based updates, hiding many of the Web's complexities from applica- tion developers. Because of its focus on components, Fiz does not use mechanisms such as templates and model- view-controller in the same way as other frameworks. ger and more useful structures. We will release Fiz in 1 Introduction open-source form and hope to build a user community Although the World-Wide Web was initially conceived that creates an ever-increasing set of interesting com- as a vehicle for delivering and viewing documents, its ponents, which will make it dramatically easier to cre- focus has gradually shifted from documents to applica- ate applications that advance the state-of-the-art in Web tions. Facilities such as Javascript, the Document Ob- interactivity. ject Model (DOM), and Ajax have made it possible to offer sophisticated interactive applications over the The rest of this paper is organized as follows.
    [Show full text]