Lecture 02 The Web Application Development Process Models Mr. Mubashir
29 Slides284.39 KB
Lecture 02 The Web Application Development Process Models Mr. Mubashir Ali Lecturer (Dept. of Computer Science) [email protected] 1
Summary of the last lecture Web engineering extends Software Engineering to Web applications Why web engineering? Web applications Categories of web applications Characteristics of web applications Mubashir Ali - Lecturer (Department of Computer Science) 2
Outline Development Process model – software development process activities Requirement for a web development process model Rational unified process model (RUP) – suitability for web application development Mubashir Ali - Lecturer (Department of Computer Science) 3
1. Process model A set of related activities that leads to the production of a software product – development of software from scratch – extending and modifying existing systems Common activities – Software specification – Designing and implementation – System validation – System evolution Mubashir Ali - Lecturer (Department of Computer Science) 4
1.1 Process activities Software specification: The functionality of the software and constraints on its operation must be defined – critical stage (can lead to problems in design and implementation) Activities: – Feasibility study – Requirement elicitation and analysis – Requirement specification – Requirement validation Mubashir Ali - Lecturer (Department of Computer Science) 5
1.1 Process activities Software design and implementation: Design is the description of – System structure – Data models – Interface between components Implementation: Converting a system specification into an executable system Mubashir Ali - Lecturer (Department of Computer Science) 6
1.1 Process activities System validation: Intended to show that the system – confirms its specification – meets customer’s expectations Development testing – tested by the people developed the components System testing – finding component integration errors Acceptance testing – System is tested by the customer’s provided data Mubashir Ali - Lecturer (Department of Computer Science) 7
1.1 Process activities Software evolution: Software is flexible as compared to hardware – Changes can be made to the system during development or after the development Mubashir Ali - Lecturer (Department of Computer Science) 8
1.2 Common approaches The waterfall approach Iterative approach Reuse oriented approach Mubashir Ali - Lecturer (Department of Computer Science) 9
2. Requirements for a web application development process Evolving from informational medium to application medium Existing approaches are over-pragmatic – lead to short development time Web engineering does not have its own mature development process model SE development process models are adopted Mubashir Ali - Lecturer (Department of Computer Science) 10
2. Requirements for a web application development process Handling Short development cycles – Development time is short Normally does not exceed six month – Immediate delivery mechanism Capture share in the market – Leaves less freedom for systematic development process Mubashir Ali - Lecturer (Department of Computer Science) 11
2. Requirements for a web application development process Handling changing requirement – Requirements often emerge during development as developer understand the unknown business – Integrate changes rapidly to remain in competition – User involvement is more critical due to emerging and unstable requirements Mubashir Ali - Lecturer (Department of Computer Science) 12
2. Requirements for a web application development process Reuse and integration – to meet time constraints developer try to reuse components Leads to integration issues – Development can not be isolated from the development of other applications within the organization Mubashir Ali - Lecturer (Department of Computer Science) 13
2. Requirements for a web application development process Adapting to web application’s complexity level – process depends upon the level of complexity – process is adapted dynamically for low complexity, it should be like lightweight process for high complexity, it should be like heavyweight process Mubashir Ali - Lecturer (Department of Computer Science) 14
3. Rational unified process RUP is a heavyweight, phase oriented, incremental and iterative process Described in three perspectives – Dynamic perspective: phases – Static perspective: activities in phases – Practice perspective: good engineering practices Mubashir Ali - Lecturer (Department of Computer Science) 15
3. Rational unified process RUP phases: Inception: Define the business case for the project Goals: – Business case Identify and interact with external entities Asses the business contribution Artifacts: – business case Mubashir Ali - Lecturer (Department of Computer Science) 16
3. Rational unified process RUP phases: Elaboration: establish understanding with the problem Goals: – Establish software scope – Discriminating critical use-cases – Estimating cost, schedules and risks Artifacts: – development plan, use-case model, architectural description Mubashir Ali - Lecturer (Department of Computer Science) 17
3. Rational unified process RUP phases: Construction: involves system design, programming and testing Goals: – Develop the design – Implement the design – Validate the system Artifacts: – System, training material Mubashir Ali - Lecturer (Department of Computer Science) 18
3. Rational unified process RUP phases: Transition: Installing the system in real environment Goals: – Testing in real environment – training – Bug fixing, performance enhancements Artifacts: – A documented system working correctly Mubashir Ali - Lecturer (Department of Computer Science) 19
3. Rational unified process RUP activities (workflows): – Requirements – analysis – design – implementation – test Mubashir Ali - Lecturer (Department of Computer Science) 20
3. Rational unified process RUP good practices: – Develop software iteratively – Manage requirements – Use component-based architectures – Visually model software-using UML – Verify software quality – Control changes to software Mubashir Ali - Lecturer (Department of Computer Science) 21
3. Rational unified process phases activities Mubashir Ali - Lecturer (Department of Computer Science) 22
3.1 RUP for web application Inception phase: Definition is problematic for web application – no concrete view of the system at beginning – has target group but needs are unknown Elaboration phase: – due to short development time, first version has priority over clearly defined end-product Mubashir Ali - Lecturer (Department of Computer Science) 23
3.1 RUP for web application Construction phase: – exists in web development process Transition phase: – is meaningful for web application development Mubashir Ali - Lecturer (Department of Computer Science) 24
3.1 RUP for web application Handling short development cycles: – Conflicting short cycle means concession in modeling and documentation while RUP is heavyweight Handling changing requirements: – Conflicting with time constraints require concrete vision at the end of inception phase which require more time in web application due to evolving requirements Mubashir Ali - Lecturer (Department of Computer Science) 25
3.1 RUP for web application Parallel development of different releases: – can be met with RUP RUP only allow parallel development in construction phase Reuse and integration: – Conflicting It requires coordination with development processes of other applications RUP does not describe this Mubashir Ali - Lecturer (Department of Computer Science) 26
3.1 RUP for web application Adapting to a Web application’s complexity level: – RUP can be adopted for later stages when complexity of web application is understood Mubashir Ali - Lecturer (Department of Computer Science) 27
Summary Development Process model – software development process activities – conventional software development approaches Requirement for a web development process model Rational unified process model (RUP) – suitability for web application development Mubashir Ali - Lecturer (Department of Computer Science) 28
References Chapter 10, Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, Hoboken, NJ: Wiley & Sons Chapter 2, Sommerville, Software Engineering, ISBN-10: 0-13-703515-2 , PEARSON Mubashir Ali - Lecturer (Department of Computer Science) 29