Web-Specific Software Development Processes

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
CS487 Software Engineering Omar Aldawud
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Part 1: Introducing User Interface Design Chapter 1: Introduction –Why the User Interface Matters –Computers are Ubiquitous –The Importance of Good User.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Life Cycle Model
 Software Models.  A software life-cycle model is a descriptive and diagrammatic representation of the software life-cycle. This includes a series of.
Fourteenth Lecture Hour 9:30 – 10:20 am, Sunday, September 16 Software Management Disciplines Project Control and Process Automation (from Part III, Chapter.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering MCS-2 Lecture # 6
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Developed by Reneta Barneva, SUNY Fredonia The Process.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering CE 501 Prepared by : Jay Dave.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
The Software Lifecycle Stuart Faulk. Definition Software Life Cycle: evolution of a software development effort from concept to retirement Life Cycle.
Methodologies/Life Cycle Models
TK2023 Object-Oriented Software Engineering
Software Development.
Teaching slides Chapter 2
Unit 6 Application Design KLB Assignment.
Methodologies and Algorithms
Chapter 1: Introduction to Systems Analysis and Design
User-centred system design process
CS 389 – Software Engineering
The Development Process of Web Applications
CS 5150 Software Engineering
CS 425/625 Software Engineering Software Processes
Software Development Life Cycle
Software Process Models
Software Process Models
Software Life Cycle Models
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
UNIFIED PROCESS.
Software Processes.
Requirements and the Software Lifecycle
Textbook Engineering Web Applications by Sven Casteleyn et. al. Springer Note: (Electronic version is available online) These slides are designed.
Chapter 2 – Software Processes
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
Chapter 2 Software Processes
Software Engineering Lecture 18.
Software Development Process
Software life cycle models
Yes, we need hundreds of methodologies!!!
Software engineering -1
CS310 Software Engineering Lecturer Dr.Doaa Sami
Chapter 1: Introduction to Systems Analysis and Design
Software Processes.
Software Engineering Lecture 17.
Web-Specific Software Development Processes
SNS College of Engineering Coimbatore
Chapter 1: Introduction to Systems Analysis and Design
Chapter 2 Software Processes
Presentation transcript:

Web-Specific Software Development Processes

Web-Specific Software Development Processes Web applications are a special instance of generic software applications, and, hence, Web engineering can be seen as special instance of software engineering. Taking into account such Web-specific peculiarities allows a better tailoring of development process models. These slides are designed to accompany module: Software Engineering of Web Applications

In the following, we introduce a characteristic process model, the so-called online evolution model, which stems from our experience in the development of Web applications and from the simple observation of the life cycle of modern Web applications that are available on the Web. These slides are designed to accompany module: Software Engineering of Web Applications

The Online Evolution Model These slides are designed to accompany module: Software Engineering of Web Applications

The model consists of five main activities, i. e The model consists of five main activities, i.e., requirements analysis, design, implementation, testing and evaluation, and maintenance and evolution, and of seven transitions among the activities. The coarse activities in the online evolution model very much resemble the traditional activities in the software development process. A main difference is the interpretation of the deployment as transition, and not as a first-class activity. These slides are designed to accompany module: Software Engineering of Web Applications

It is this transition that characterizes the model: As for the transitions, the model proposes an explicit connection from the maintenance and evolution activity to the requirements analysis activity. It is this transition that characterizes the model: Connecting the maintenance and evolution activity to the requirements analysis activity closes a second cycle in the model that involves the requirements analysis activity; we call this the evolution cycle. These slides are designed to accompany module: Software Engineering of Web Applications

The first cycle is the one that spans the design, implementation, and testing and evaluation activities; we call this the build and test cycle. The two cycles correspond to two phases that are peculiar to modern Web applications: offline development and online evolution. The build and test cycle refers to the incremental development of the application that will go online, while the evolution cycle refers to the incremental evolution which the application undergoes over time once it is online. These slides are designed to accompany module: Software Engineering of Web Applications

In general, the two cycles are characterized by different cycling times: the former faster, the latter slower. The two iterative and incremental cycles appear particularly appropriate in the context of the Web, where applications must be deployed quickly, and requirements are likely to change during the development phase. These slides are designed to accompany module: Software Engineering of Web Applications

As a matter of fact, increasingly the common practice in Web development is to substitute documentation artifacts (as heavily adopted in the Waterfall model) with real application prototypes, and to involve end users as early as possible for testing and evaluation. Also, while in traditional software engineering an application is released only once all the requirements have been met, These slides are designed to accompany module: Software Engineering of Web Applications

The evolution cycle is thus increasingly gaining importance. for Web applications it is more and more common practice (and desirable) to publish online applications, even though not all the requirements have been met yet. Early user feedback is becoming more important, and evolution is finally being seen as a real opportunity for improvement. The evolution cycle is thus increasingly gaining importance. These slides are designed to accompany module: Software Engineering of Web Applications

As an example of this trend, consider the Google search engine's Web site. Although users might not always be conscious of simple changes, Google is continuously evolving the features and interface of the search engine. According to Adam Bosworth's (Vice President at Google), Google is constantly adding new features to its Web applications, measuring whether the expected improvements or user behaviors can be accommodated, and consolidating features that prove their viability. These slides are designed to accompany module: Software Engineering of Web Applications

Think, for instance, of the Web site thumbnails accompanying the single search results that were added some time ago to enrich the user's browsing experience, but then dropped because of little value to users who were not yet familiar with those sites. A successful evolution, instead, was the introduction of the suggestion to switch to Google Maps for user inquiries that contain location data. These slides are designed to accompany module: Software Engineering of Web Applications

The maturity of the Web application increases as a result of the combination of incremental development and continuous evolution These slides are designed to accompany module: Software Engineering of Web Applications

The effect of the two development cycles in the online evolution model on the maturity of the actual Web application under development is represented in the previous Figure. The incremental releases of the online prototype in the build and test cycle occur rapidly, and the maturity of the application increases in big steps. These slides are designed to accompany module: Software Engineering of Web Applications

After the deployment of the application, the incremental upgrades of the online application occur less frequently (evolution cycles), and they add less value to the application. However, they to add value, continuously, and are an integral part of the application's life cycle. 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