Software Engineering of Web Applications SE Team 6 & SE Team 13 4-28-05.

Slides:



Advertisements
Similar presentations
Chapter 19 Design Model for WebApps
Advertisements

Demonstrators: Mudasir Nazir(08-CS-41).  I am highly addicted to this field.  Working with W3C in research program(building CSS for creating web site.
Software Process Models
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
May 2, May 2, 2015May 2, 2015May 2, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Web Development Life Cycle (WDLC) by Sally King. 2 Initiation/ Inception Analysis & Requirements Definition Design Construction Installation/ Deployment.
02/12/00 E-Business Architecture
Design Modeling for Web Applications
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
E-Commerce: The Second Wave Fifth Annual Edition Chapter 12: Planning for Electronic Commerce.
Lecture 11 Component-based Software Engineering Client/server Software Engineering Web Engineering.
1 IS112 – Chapter 1 Notes Computer Organization and Programming Professor Catherine Dwyer Fall 2005.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
1 Web Testing CIS 376 Bruce R. Maxim UM-Dearborn.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Project Management and Scheduling
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
The Design Discipline.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
Web Design Teams What role do you play?. Client Person or organization who pays for the website to be designed and maintained. Person or organization.
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
1 WEB Engineering Introduction to Electronic Commerce COMM1Q.
Web Applications and Services Introduction to Web Engineering.
Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing.
An Introduction to Software Architecture
Project Proposal Interface Design Website Coding Website Testing & Launching Website Maintenance.
Bayu Priyambadha, S.Kom Teknik Informatika Universitas Brawijaya.
2 Systems Architecture, Fifth Edition Chapter Goals Describe the activities of information systems professionals Describe the technical knowledge of computer.
Web Analysis CIS 376 Bruce R. Maxim UM-Dearborn. Web Formulation Activities Identify business need for WebApp Work with stakeholders to describe WebApp.
The Multimedia Team. Careers in Multimedia u Executive Producer u Production Manager u Multimedia Director/Architect u Art Director u Interface Designer.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
3231 Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 12.
Web Engineering Web engineering is the process used to create high quality WebApps. Web engineering is not a perfect clone of software engineering. But.
SCSC 311 Information Systems: hardware and software.
Patterns, effective design patterns Describing patterns Types of patterns – Architecture, data, component, interface design, and webapp patterns – Creational,
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
1 WEB Engineering E-Commerce Strategy & Management COM350.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Web Engineering and Technology Unit I. Categories/Types of Web-Based Systems CategoryExamples Document centricOnline newspapers, manuals InteractiveRegistration.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter.
1 Chapter 18 Analysis Modeling for WebApps Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Software Prototyping Rapid software development to validate requirements.
Developed by Reneta Barneva, SUNY Fredonia The Process.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Web Engineering “Web development is an adolescent … Like most adolescents, it wants to be accepted as an adult as it tries to pull away from its parents.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Software testing
Design and Maintenance of Web Applications in J2EE
CIS 376 Bruce R. Maxim UM-Dearborn
Presentation transcript:

Software Engineering of Web Applications SE Team 6 & SE Team

Introduction of Team Members Chris Gaul Chris Gaul Ruth Miller Ruth Miller Jefferson Hanifah Jefferson Hanifah Ryan Dunn Ryan Dunn Evan Tritsch Evan Tritsch Amanda Jantz Amanda Jantz

Overview What is Web Engineering? What is Web Engineering? Formulation and Planning for Web Engineers Formulation and Planning for Web Engineers Analysis Modeling for Web Apps Analysis Modeling for Web Apps Design Modeling for Web Apps Design Modeling for Web Apps Testing Web Apps Testing Web Apps Comparison Between Normal Software Engineering vs. Web Engineering Comparison Between Normal Software Engineering vs. Web Engineering

Methods Communication Communication Requirements Analysis Requirements Analysis Design Design Testing Testing

Processes Delivery Delivery Change Change Timelines Timelines

Customer Communication Business Analysis Business Analysis Formulation Formulation

Framework Planning Planning Modeling Modeling Construction Construction Deployment Deployment

Web Engineering Application Development Team Content Developers Content Developers Web Publisher Web Publisher Web Engineer Web Engineer Business Domain Expert Business Domain Expert

Application Support Staff Support Specialist Support Specialist Enhancements and adaptations to the application itselfEnhancements and adaptations to the application itself Administrator (Webmaster) Administrator (Webmaster) Update content and layout changesUpdate content and layout changes

Creating a Web App with Outsourcing Analysis of functionality should be done internally Analysis of functionality should be done internally Design a rough draft Design a rough draft Project Schedule (dates & milestones) Project Schedule (dates & milestones) List of Responsibilities List of Responsibilities Degree of interaction between contractor and vendor should be identified Degree of interaction between contractor and vendor should be identified

Creating a Web App “In-House” Clearly stated requirements and goals Clearly stated requirements and goals Incremental project strategy Incremental project strategy Perform a Risk Analysis Perform a Risk Analysis Quick Time Estimate Quick Time Estimate Development description Development description Establish a schedule Establish a schedule Defined project tracking mechanisms Defined project tracking mechanisms

Analysis Modeling for Web Apps Defined Focuses on 3 questions: Focuses on 3 questions: What information is to be presented or manipulated?What information is to be presented or manipulated? What functions are to be performed for the end-user?What functions are to be performed for the end-user? What behaviors will the WebApp exhibit as it presents content and performs functions?What behaviors will the WebApp exhibit as it presents content and performs functions? Answers are represented as part of an analysis model containing UML representations. Answers are represented as part of an analysis model containing UML representations.

Requirements User Hierarchy User Hierarchy Developing use-cases Developing use-cases Refining the use case model Refining the use case model

Models Analysis Model Analysis Model Content Model Content Model Defining Content ObjectsDefining Content Objects Content Relationships and HierarchyContent Relationships and Hierarchy Analysis Classes for Web AppsAnalysis Classes for Web Apps Interaction Model Interaction Model Functional Model Functional Model Configuration Model Configuration Model

Relationship-Navigation Analysis Key Questions Key Questions Navigation Analysis Navigation Analysis

Design Issues Quality Quality SecuritySecurity AvailabilityAvailability ScalabilityScalability Time-to-marketTime-to-market Goals Goals Simplicity Consistency Identity Robustness Navigability Visual Appeal Compatibility

Visual Design Interface Design Interface Design The structure and organization of the user interface.The structure and organization of the user interface. Aesthetic Design Aesthetic Design Graphic designGraphic design Look and FeelLook and Feel Content Design Content Design Layout, structure, and outline for all contentLayout, structure, and outline for all content Relationship between objectsRelationship between objects

Control Design Architecture Design Architecture Design Both content architecture and Web App architectureBoth content architecture and Web App architecture Navigation Design Navigation Design The navigational flow between content objects and web app functionsThe navigational flow between content objects and web app functions Component Design Component Design Processing logic required to implement functional componentsProcessing logic required to implement functional components

How do we do it Hypermedia Design Patterns Hypermedia Design Patterns Object-Oriented Hypermedia Design Method Object-Oriented Hypermedia Design Method Design Metrics Design Metrics

Testing Web Applications More Complex then normal Application Testing More Complex then normal Application Testing Big difference is that technology variables multiply in web applications.Big difference is that technology variables multiply in web applications. Different technologies are patch worked together to bring a web application to life.Different technologies are patch worked together to bring a web application to life. Types of Testing Types of Testing ContentContent InterfaceInterface NavigationNavigation ComponentComponent ConfigurationConfiguration SecuritySecurity PerformancePerformance

Testing Web Applications Content Testing Content Testing Text ErrorsText Errors Grammatical mistakesGrammatical mistakes Errors in consistencyErrors in consistency Cross referencing errorsCross referencing errors Graphical RepresentationsGraphical Representations Dynamic contented delivered from databasesDynamic contented delivered from databases

Testing Web Applications Interface Testing Interface Testing Implementation mechanisms or omissionsImplementation mechanisms or omissions InconsistenciesInconsistencies AmbiguitiesAmbiguities Anything interfaced inadvertently into the interfaceAnything interfaced inadvertently into the interface

Testing Web Applications Component Testing Component Testing Testing each component encapsulated within the web site.Testing each component encapsulated within the web site. Configuration Testing Configuration Testing Client and server environment problems.Client and server environment problems. Create a matrix of hardware, operating systems, browsers, hardware platforms and communications protocols. Create a matrix of hardware, operating systems, browsers, hardware platforms and communications protocols. Test each possible configuration to get all the errors associated with each configuration. Test each possible configuration to get all the errors associated with each configuration.

Testing Web Applications Security Testing Security Testing Exploit vulnerabilities in the Web App and environment.Exploit vulnerabilities in the Web App and environment. Demonstrate that a security breach is possibleDemonstrate that a security breach is possible Performance Testing Performance Testing Response time and reliability effected by trafficResponse time and reliability effected by traffic Identifying components responsible for the problems Identifying components responsible for the problems Load TestingLoad Testing N, concurrent users N, concurrent users T, online transactions T, online transactions D, Data Load D, Data Load P, Overall throughput P, Overall throughput P = D X T X N P = D X T X N

Comparison Between Software and Web Engineering Planning [1] Planning [1] Design [1] Design [1] Production [1] Production [1] Maintenance [1] Maintenance [1]

Planning At this step, in both software and web engineering, they try to find the user needs, create schedule until the application is deployed At this step, in both software and web engineering, they try to find the user needs, create schedule until the application is deployed

Design In the design of a software, the GUI has to be “user friendly,” and reliable In the design of a software, the GUI has to be “user friendly,” and reliable In the design of web applications, the user must be able to find data and links easily. Also, the user must be able to load the applications very fast. In the design of web applications, the user must be able to find data and links easily. Also, the user must be able to load the applications very fast.

Production In software and web engineering, programmers need to test before the applications are launched or deployed In software and web engineering, programmers need to test before the applications are launched or deployed

Maintenance In software engineering, the programmers provide updates and patches for the software every time bugs have been found In software engineering, the programmers provide updates and patches for the software every time bugs have been found In web engineering, the team members need to maintain the sites up-to-date In web engineering, the team members need to maintain the sites up-to-date

Resources ibm.com/ibm/easy/eou_ext.nsf/p ublish/ ibm.com/ibm/easy/eou_ext.nsf/p ublish/ ibm.com/ibm/easy/eou_ext.nsf/p ublish/572

Summary