The Development Process of Web Applications

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Lecture # 2 : Process Models
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Requirements
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Testing
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
Managing Software Quality
CSE 303 – Software Design and Architecture
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Drexel University CS 451 Software Engineering Winter Yuanfang Cai Room 104, University Crossings
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 9: Design Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
MANAGEMENT INFORMATION SYSTEM
Module: Software Engineering of Web Applications Dr. Samer Odeh Hanna 1.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
CS220:INTRODUCTION TO SOFTWARE ENGINEERING CH1 : INTRODUCTION 1.
CompSci 280 S Introduction to Software Development
ITIL: Service Transition
Chapter 1- Introduction
Software Engineering Management
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
CS 389 – Software Engineering
Software Process Activities.
Module: Software Engineering of Web Applications
APARTMENT MAINTENANCE SYSTEM
Software Processes (a)
Design and Implementation
Frequently asked questions about software engineering
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Textbook Engineering Web Applications by Sven Casteleyn et. al. Springer Note: (Electronic version is available online) These slides are designed.
Chapter 2 – Software Processes
Module: Software Engineering of Web Applications
Introduction to Software Testing
Chapter 2 Software Processes
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Chapter 2 – Software Processes
Object-Oriented Systems Development Life Cycle (CH-3)
Chapter 1 Introduction(1.1)
An Introduction to Software Architecture
Chapter 7 –Implementation Issues
CS310 Software Engineering Lecturer Dr.Doaa Sami
Module: Software Engineering of Web Applications
Chapter 8 Software Evolution.
Requirements Document
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Chapter 6: Architectural Design
System Analysis and Design:
UML Design for an Automated Registration System
Presentation transcript:

The Development Process of Web Applications

Activities in Software Development Requirements engineering: aims at understanding the problem. Design: aims at planning a solution to the problem. Implementation: translates the plan into running application code. Testing and evaluation: aims at identifying coding errors or inconsistencies between the collected requirements and their implementation. These slides are designed to accompany module: Software Engineering of Web Applications

Deployment: brings the solution to the customers. Maintenance: aims at monitoring a running system and keeping it healthy and running. Evolution: aims at improving the developed solution over time, providing new input to the development process in the form of new requirements. These slides are designed to accompany module: Software Engineering of Web Applications

Requirements engineering aims at understanding a product's needed capabilities and attributes. The analysis concentrates on functional requirements, referring to the functions that the system must be able to support, as well as on nonfunctional requirements, referring mainly to the quality of the offered solution. This implies identifying the general idea behind the system, as well as the stakeholders that require the new solution, the motivations for the production of a new system and the final usage environment. These slides are designed to accompany module: Software Engineering of Web Applications

The collected requirements are elaborated with the aim of producing some high-level models of the system that abstract from irrelevant details of the problem domain. These slides are designed to accompany module: Software Engineering of Web Applications

Design After a subset of the application's requirements has been understood, the design can follow. The design activity aims at specifying a solution, which must meet functional and efficiency requirements, as well as possible constraints derived from the target environment. Requirements previously collected are therefore refined, restricted, and enhanced to satisfy possible technological constraints. These slides are designed to accompany module: Software Engineering of Web Applications

There are different views characterizing software design. For example, Pressman describes software design as a system of activities for data/class design, component design, interface design, and architectural design. These slides are designed to accompany module: Software Engineering of Web Applications

This enforces separation of concerns, a basic software engineering principle stating that approaching a problem by separating the different involved concerns may help us cope with complexity and achieve some required engineering quality factors such as adaptability, maintainability, extendibility, and reusability. These slides are designed to accompany module: Software Engineering of Web Applications

Implementation During implementation, the different design views are transformed either manually or with the help of automatic generation tools into corresponding program code, database tables, and configuration files. Implementation may require the use of existing code libraries, a variety of different programming languages and communication protocols, and different hardware devices. These slides are designed to accompany module: Software Engineering of Web Applications

Testing and Evaluation The testing and evaluation activity is typically conducted in parallel with the previous activities, because the correctness and reliability of intermediate results - not only of the final product - is of fundamental importance to guarantee the quality of an application. The most relevant quality concerns addressed by this activity are related to functionality (i.e., the correctness of the application behavior with respect to specified functional requirements), These slides are designed to accompany module: Software Engineering of Web Applications

performance (i.e., the throughput and response times of the application in average and peak workload conditions), and usability (i.e., ease of use, communication effectiveness, and adherence to consolidated usage standards). These slides are designed to accompany module: Software Engineering of Web Applications

Deployment The deployment of a ready application delivers the developed application to its users. Closely related with the deployment of a new software solution is the instruction and training of the future users of the application, especially in cases where the delivered solution represents a radical change rather than an incremental one. These slides are designed to accompany module: Software Engineering of Web Applications

Maintenance Maintaining a deployed and running application means keeping the application in a healthy state, so as to guarantee high availability and to reduce failures. This may imply periodical checks of log files, bug reporting, and the cleaning up of temporary files, as well as the application of bug fixes or security patches, in order to keep the application always up to date. These slides are designed to accompany module: Software Engineering of Web Applications

Evolution Finally, evolution of an application aims at addressing new requirements that typically only emerge once the application has been used for a certain amount of time, and users start providing their feedback and comments. Evolving an existing application is more than bug or error fixing, and addressing the new requirements may require the whole development process to start anew in order to apply the required changes to the application. These slides are designed to accompany module: Software Engineering of Web Applications

In addition (despite the rigorous application of software engineering techniques) oftentimes only after the deployment of the application does it become clear that certain requirements have not been met, and the application needs to be adjusted accordingly. These slides are designed to accompany module: Software Engineering of Web Applications

Questions? These slides are designed to accompany module: Software Engineering of Web Applications