Web engineering cse ru


Published on

Course material regarding to the course Web Engineering. This presentation have been developed based on the Web Engineering book by Pressman

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Web engineering cse ru

  1. 1. Introduction to Web Engineering1According to the book ofWeb Engineering by Roger S. PressmanShimul ShakhawatComputer Science & Engineering Dept.University of Rajshahi
  2. 2. Are web apps software? A web application is an application that is accessed byusers over a network such as the Internet or an intranet. Webapp is computer software in the sense that it is acollection of executable instructions and that manipulatedata to provide information and functionality for the endusers. One major difference is that a web application is usuallyaccessed via the HTTP protocol Common web applications include webmail, online retailsales, online auctions, wikis and many other2
  3. 3. Attributes of web appThe major attributes of webapp which made itdifferent from the conventional software:1.Network intensiveness2.Concurrency3.Content sensitive4.Continuous evaluation5.Unpredictable load6.Performance7.Data driven8.Availability9.Aesthetic10.Immediacy11.Security3
  4. 4. • Network intensiveness: A Webapp resides on a networkand must serve the needs of a diverse community ofclients. It is accessed via the HTTP protocol• Concurrency: A large number of users may access theWebApp at one time. The patterns of usage among end-users will vary greatly. In some cases the actions of oneuser may have an impact on the actions of other users orthe information presented to the other users.• Content sensitive: The quality and aesthetic nature ofcontent remains an important determinant of the qualityof a WebApp. When a pdf is clicked it is opened with apdf reader.4
  5. 5. • Continuous evolution: Unlike conventional applicationsoftware that evolves over a series of planned,chronologically-spaced releases, Web applications evolvecontinuously. Some WebApps are updated on a minuteby minute schedule• Unpredictable load: The number of users of the WebAppmay vary by orders of magnitude from day to day. OnMonday 10 events might be reported per hour while onWednesday thousands of events may be reported perminutes• Performance: If a WebApp user must wait too long (foraccessing, for server-side processing, for client-sideformatting and display), he or she may decide to goelsewhere. Performance is critical since the human lifemay be at stake.5
  6. 6. • Availability: Although expectation of 100 percentavailability is unreasonable, users of popular WebAppsoften demand access on a “24/7/365” basis.• Aesthetics: An undeniable part of the appeal of a webappis its look and feel. When an application is designed tomarket or sell products or ideas, aesthetics may have asmuch to do with success as technical design.• Immediacy: the compelling need to get software tomarket quality.• Security: In order to protect sensitive content andprovide secure modes of data transmission, strongsecurity measures must be implemented throughout theinfrastructure6
  7. 7. • Data driven: The following features define a data-drivenweb application1. Ability to create "entities" and relate them to each other2. Data input validation with potentially complex rules3. Emphasis on easy browsing of large sets of data and findingrecords4. Reports in a variety of formats5. Export / import6. Interactions with other systems7. Potentially complex actions performed as data is enteredinto system8. Notifications about important events via email, screenalerts, SMS, etc.7
  8. 8. WebApp Categories1. Informational: one that contains read-only contentswith simple navigation and links. Wikipedia2. Download: a user downloads information from theappropriate server3. Customizable: the user customizes content to specificneeds. Example Online shopping site4. Interaction: communication among a community ofusers occurs via chat room, bulletin boards, or instantmessaging5. user input: forms-based input is the primarymechanism for communicating need8
  9. 9. 6. transaction-oriented: the user makes a request (e.g.,places an order) that is fulfilled by the WebApp7. service-oriented: the application provides a service tothe user, e.g., assists the user in determining amortgage payment. Example moneybooker8. Portal: the application channels the user to other Webcontent or services outside the domain of the portalapplication9. database access: the user queries a large database andextracts information10. data warehousing: the user queries a collection oflarge databases and extracts information9
  10. 10. Web engineering VS software engineering Web engineering is multidisciplinary and encompassescontributions from diverse areas including systems analysis anddesign, software engineering, human-computer interaction,user interface, information engineering, testing, modeling andsimulation, project management, and graphic design andpresentation. Web engineering is neither a clone, nor a subset of softwareengineering, although both involve programming and softwaredevelopment. Web Engineering borrows many of the software engineeringfundamental concepts and principals. It encompasses new approaches, methodologies, tools,techniques, and guidelines to meet the unique requirements ofweb-based applications 10
  11. 11.  Although both of them follows the disciplined approach todevelop, deploy and maintained the applications, the basicdifference is that the requirements (Scope) of web projects isdifferent from the software projects. Software projects have the various models like Waterfall, Spiral,Incremental, etc but there is no defined models for WebApplications project, as the requirements are dynamic (notfixed). For simplicity we can define model for web projects as PDCAmodel. (P)lan, (D)o, (C)heck and (A)ct. In the planning stage, you ‘Plan’ as what are the requirements,concept, planning, costing, timeline and get the approval fromthe customer before starting the project.11
  12. 12.  Next comes the ‘Do’ – which is defined as “How the concepthas to be designed and developed”. Here the prototype(models base on blueprint) has to be build and then get itreviewed from the customer. Based on his feedbacks, actionhas to be taken. PDCA cycle is the base of all the models. Secondly, WEBE is more complex then SWE, as former isdependent on the various types of browsers, OS, and serverslike Web server, application servers.12
  13. 13. Web engineering• Web engineering is multidisciplinary and encompassescontributions from diverse areas including systems analysisand design, software engineering, human-computerinteraction, user interface, information engineering, testing,modeling and simulation, project management, and graphicdesign and presentation.• Web engineering is neither a clone, nor a subset of softwareengineering, although both involve programming andsoftware development.• Web Engineering borrows many of the software engineeringfundamental concepts and principals, it encompasses newapproaches, methodologies, tools, techniques, and guidelinesto meet the unique requirements of web-based applications13
  14. 14. WebE Framework A framework is a set of activities that are applicable toevery Web engineering project regardless their size andcomplexity – though the nature of the activities might varyfrom project to project. Each framework activity is populated by a set of Webengineering actions work tasks work products quality assurance points, and project milestones In addition, the framework encompasses a set of umbrellaactivities that are applicable across the entire WebEprocess. 14
  15. 15. The WebE Framework: Activities• The following five WebE activities are part of a genericframework• Communication. Involves heavy interaction and collaborationwith the customer and other stakeholders and encompassesrequirements gathering and other related activities. It includesformulation, elicitation, negotiation• Planning. Establishes an incremental plan for the WebE work. Itdescribes the WebE actions that will occur, the technical tasksto be conducted, the risks that are likely, the resources that willbe required, the work products to be produced and a workschedule. Basically the plan consists of a task definition and atime schedule (usually measured in weeks) for the developmentof the WebApp increment. It includes estimation, risk analysis,scheduling, monitoring• 15
  16. 16. 16
  17. 17. • Modeling. Encompasses the creation of models that assist thedeveloper and the customer to better understand WebApprequirements and the design that will achieve thoserequirements. It includes analysis and design.– Analysis that establishes a basis for design includes contentanalysis, interaction analysis, functional analysis,configuration Analysis.– Design includes content design, aesthetic design,architectural design, interface design, navigation design• Construction. Combines the code generation (e.g., HTML,XML, Java) with testing that is required to uncover errors in thecode. It includes coding and testing• Deployment. Delivers a WebApp increment to the customerwho evaluates it and provides feedback based on theevaluation. It includes delivery and evaluation 17
  18. 18. WebE Best Practices1. Take the time to understand business needs and productobjectives, even if the details of the WebApp are vague.2. Describe how users will interact with the WebApp using ascenario-based approach.3. Always develop a project plan, even if it’s very brief.4. Spend some time modeling what it is that you’re going tobuild.5. Review the models for consistency and quality.6. Use tools and technology that enable you to construct thesystem with as many reusable components as possible.7. Don’t reinvent when you can reuse.8. Don’t rely on early users to debug the WebApp—design anduse comprehensive tests before releasing the system.18
  19. 19. Why Web Projects Fail?1. Lack of vision2. Shortsighted goals3. Flawed design4. Wrong team members5. Technical experience and expertise6. Too grand of a vision7. Limits of technology8. Underestimate time19