The web application development process Basharat Mahmood,
29 Slides306.40 KB
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 8
1.2 Common approaches The waterfall approach Iterative approach Reuse oriented approach Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 19
3. Rational unified process RUP activities (workflows): – Requirements – analysis – design – implementation – test Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 21
3. Rational unified process phases activities Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 23
3.1 RUP for web application Construction phase: – exists in web development process Transition phase: – is meaningful for web application development Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 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 Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 29