Software Engineering Aspects of Web Based Development Cathy Huttenhoff Software Engineer Senior Seminar Fall 2009.

Slides:



Advertisements
Similar presentations
Lecture 6/2/12. Forms and PHP The PHP $_GET and $_POST variables are used to retrieve information from forms, like user input When dealing with HTML forms.
Advertisements

Objectives Overview Define an operating system
Lesson 6 Software and Hardware Interaction
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Web Server Hardware and Software
Servlets and a little bit of Web Services Russell Beale.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Interpret Application Specifications
Live the dream… Technologies of e-Commerce Unit 8 – e-Commerce LO1 : Know the technologies required for e-commerce.
Session Management A290/A590, Fall /25/2014.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
CE80N Introduction to Networks & The Internet Dr. Chane L. Fullmer UCSC Winter 2002.
Web Browsers It is an application software that is used to display and interact with text, images and other information located on web pages at web sites.
Computing Fundamentals Objective 2 Software. IC3-GS3 Computing Fundamentals-Domain 2 2 Objectives Understand the steps involved in software development.
16.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 16: Examining Software Update.
Team 14 Joe Grady James Crow Hongyu Chen Prakalp Sudhakar Victor Villagomez Client/Faculty Advisor: Dr. Gary Tuttle.
Lesson 4 Computer Software
TC2-Computer Literacy Mr. Sencer February 8, 2010.
Computer Concepts 2014 Chapter 7 The Web and .
ITIS 1210 Introduction to Web-Based Information Systems Chapter 48 How Internet Sites Can Invade Your Privacy.
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring, Managing, and Troubleshooting Resource Access.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Data Security.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue.
Dynamic Web Pages (Flash, JavaScript)
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Chapter 16 The World Wide Web. 2 The Web An infrastructure of information combined and the network software used to access it Web page A document that.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
PHP Professor Waterman. Agenda What is PHP Versions HTML Dynamic Web sites Interactive Web Sites Installing PHP Transfer pages to a Web hosting service.
Introduction To Computer System
PHP TUTORIAL. HISTORY OF PHP  PHP as it's known today is actually the successor to a product named PHP/FI.  Created in 1994 by Rasmus Lerdorf, the very.
Explain the purpose of an operating system
Web Server Administration Chapter 7 Installing and Testing a Programming Environment.
Marcel Casado NCAR/RAP WEATHER WARNING TOOL NCAR.
Lecture 2 Title: Computer Software By: Mr Hashem Alaidaros MIS 101.
Chapter 8 Cookies And Security JavaScript, Third Edition.
Software and Hardware Interaction
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
ITGS Application Software, pt. 3. ITGS Business Software Alliance (BSA) and Federation Against Software Theft (FAST) –Represent software companies and.
ASP. What is ASP? ASP stands for Active Server Pages ASP is a Microsoft Technology ASP is a program that runs inside IIS IIS stands for Internet Information.
ECMM6018 Enterprise Networking for Electronic Commerce Tutorial 7
D R A T D R A T ABSTRACT Every semester each department at Iowa State University has to assign its faculty members and teaching assistants (TAs) to the.
Chapter 9 Operating Systems Discovering Computers Technology in a World of Computers, Mobile Devices, and the Internet.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Web Technologies Lecture 6 State preservation. Motivation How to keep user data while navigating on a website? – Authenticate only once – Store wish list.
Configuring and Deploying Web Applications Lesson 7.
1 Figure 9-3: Webserver and E-Commerce Security Browser Attacks  Take over a client via the browser Interesting information on the client Can use browser.
Securing a Host Computer BY STEPHEN GOSNER. Definition of a Host  Host  In networking, a host is any device that has an IP address.  Hosts include.
COOKIES Gloria Soria Network Security COSC 356. What is a Cookie? A cookie is a piece of text that a Web Server can store on a user's hard disk. Cookies.
GOOGLE TAG MANAGER. INTRODUCTION Google Tag Manager (GTM) is a free solution, introduced in October Google Tag Manager (GTM) is a free solution,
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
111 State Management Beginning ASP.NET in C# and VB Chapter 4 Pages
CHAPTER 7 Operating System Copyright © Cengage Learning. All rights reserved.
Intro to Digital Technology Review for Final Introduction to Digital Technology Finals Seniors Monday, 5/16 – 2 nd Tuesday 5/17 – 1 st,3 rd Underclassmen.
IT Vocabulary Basics Review Sit at tables. Need pencil/pen.
Fundamentals of Information Systems, Sixth Edition
Discovering Computers 2012: Chapter 8
WWW and HTTP King Fahd University of Petroleum & Minerals
Database System Concepts and Architecture
Various Types of Malware
Chapter 2: System Structures
By Janet Crawford and Dam Luong Submitted to the Faculty of
Web Engineering.
Dynamic Web Pages (Flash, JavaScript)
Objective % Explain concepts used to create websites.
Web Application Architectures
Browser Engine How it works…..
Web Application Architectures
Presentation transcript:

Software Engineering Aspects of Web Based Development Cathy Huttenhoff Software Engineer Senior Seminar Fall 2009

Abstract Initially there was no need for web development because there was no such thing as the internet. But as this was created, the need for a new form of development grew. This form of development corresponded to the new form of programming. In order for a program to be written using software engineering, it must follow a software development process. There are several processes to choose from and each is different. The processes used to create web pages and web applications are similar to the ones that were originally used to develop other programs but have crucial differences including software security, load issues and security.

Overview Background Concurrency Unpredictable Load Security Multi-Modal Interface Software Engineering Process

Background Internet  Grew to popularity in the 1990s Old model didn't take into account new demands New demands  Concurrency  Unpredictable loads  Security  Multi-Modal Interface

Concurrency Originally only one user at a time. Some lag acceptable. Only a few commands at a time. Now many users at once. Users demand less lag time. Now the few commands multiplied by many users.

Unpredictable Load Websites don't know how many viewers/users they will have.  Could have 100 today  And 100,000 tomorrow System must be able to handle loads of any size. Visitor count  Int overflow Twitpocalypse

Security Physical access vs. Remote Access Malicious Programs  Virus  Worms  Spyware Microsoft Windows  Release patches for security Financial Transaction  Don't want personal information stolen.

Multi-Modal Interface “Multimodal interfaces process two or more combined user input modes, such as speech, pen, touch, manual gestures, and gaze, in a coordinated manner with multimedia system output.” People want more technology. People want to be able to do more on their technology.  Web pages on Blackberries & Cell Phones

Software Engineering Process Requirements Design Implementation Verification / Testing Maintenance Figure 1 : Waterfall Method

Requirements Speed Concurrency Different numbers of users User Interface  Purchaser of software will be especially concerned about this.

Design Low coupling  Different parts of a system  Different pages of a website Store information on users computer vs. in master database Independent parts using cookies

Cookies In computing, a cookie is a small piece of text stored on a user's computer by a web browser. A cookie consists of one or more name-value pairs containing bits of information such as user preferences, shopping cart contents, the identifier for a server-based session, or other data used by websites. It is sent by a web server to a web browser and then sent back unchanged by the browser each time it accesses that server.

Implementation Transforming diagrams into the base code. Create a Graphical User Interface (GUI)  Put code a methods into that page  Post back vs not post back Web development environment vs by hand  Visual Studios.Net  DreamWeaver

Testing Black box vs. White box  Easier to test Beta versions  Open up to users  Get public to do testing  Only need an internet connection  No special software to install Good bug tracking system  Online

Maintenance Easier to offer tech. support  Only one version  Don't have to support multiple versions Easier to fix bugs  When a bug fix is found, then the page is updated  Don't have to wait for the next patch release date

Conclusion New Demands  Concurrency  Unpredictable Load  Security  Multi-Modal Interface Software Engineering Process  Requirements  Design  Implementation  Verification / Testing  Maintenance

Questions?

[1] Greenspun, P. (2003). Software Engineering for Internet Applications (6.171). Retrieved (2009, October 16) from [2] Software Development Process. Wikipedia : the free encyclopedia. Retrieved (2009, October 16) from [3] Siegler, M. G. (2009). Twitter moves up the twitpocalypse. all hell may break loose today.. TechCrunch, Retrieved from twitter-in-2-hours/ [4] (2009). Multimodal Interfaces. In Encyclopedia Britannica. Encyclopedia Britannica. Retrieved October 20, 2009, from [5] Mikio Aoyama, "Web-Based Agile Software Development," IEEE Software, vol. 15, no. 6, pp , Nov./Dec. 1998, doi: / References