1.A Web EngineeringProcess
STMIK Pontianak
Prepared by Amar P. Natasuwarna
2.REFERENCES
3.Realities of the Most WebApps Projects
Requirements evolve over time. When you begin a WebApp project, there may be uncertainty about some elements of the business strategy, the content and functionality to be delivered, interoperability issues, and many other facets of the problem.
Changes will occur frequently. Because uncertainty is an inherent part of most WebApp projects, changes to requirements are common. In addition, user feedback (based on an assessment of delivered increments) and changing business conditions may drive change.
Time lines are short. This mitigates against the creation of voluminous engineering documentation, but it does not preclude the simple reality that problem analysis, design, and testing must be documented in some manner.
4.A WebApps delivered in four increments
5.Process Flow with WebE Actions
6.Communication
Within the WebE process, communication is characterized by three WebE actions: formulation, elicitation, and negotiation.
Formulation defines the business and organizational context for the WebApp.
In addition, stakeholders are identified; potential changes in the business environment or requirements are predicted; and integration between the WebApp and other business applications, databases, and functions are defined.
Elicitation is a requirements-gathering activity involving all stakeholders.
The intent is to describe the problem that the WebApp is to solve (along with basic requirements for the WebApp) using the best information available.
In addition, an attempt is made to identify areas of uncertainty and where potential changes will occur.
Finally, negotiation is often required to reconcile differences between various stakeholders for the project.
7.Planning
The overall number of WebApp increments is identified and a brief project plan (Chapter 5) for the next WebApp increment to be deployed is created.
Resources are estimated for the increment
Risks are considered
Tasks are selected and scheduled,
Project tracking and monitoring commence.
In most cases, the planning work product consists of a task definition and a time line schedule for the time period (usually measured in weeks) projected for the development of the WebApp increment.
8.Modeling
Conventional software engineering analysis and design tasks are adapted to WebApp development, merged, and then melded into the WebE modeling activity (Chapters 6 through 13).
The intent is to develop agile analysis and design models that define requirements and at the same time represent a WebApp that will satisfy them.
9.Construction
WebE tools and technology (Chapter 14) are applied to construct the WebApp that has been modeled.
Once the WebApp increment has been constructed, a series of rapid tests are conducted to ensure that errors in design (e.g., errors in content, architecture, interface, and navigation) are uncovered. Additional testing addresses other WebApp characteristics.
10.Deployment
The WebApp is configured for its operational environment.
It is then delivered to end users, and an evaluation period commences.
Evaluation feedback is presented to the WebE team, and the increment is modifi ed as required.
11.How Are Framework Activities Conducted?
The first iteration. The first communication activity is initiated. The intent is to define business context, establish overall requirements, create a set of usage scenarios, negotiate conflicting needs among stakeholders, and then from this information derive the set of WebApp increments that is to be delivered.
The second iteration. Even though time is very short, you commit yourself to the WebE process framework. The next morning you initiate the communication activity for the fi rst increment by conducting a 1-hour meeting with stakeholders. You get a reasonably good picture of what is required for the increment.
The next iteration. As soon as deployment (for the fi rst increment) is complete, you’re ready to initiate the next iteration of the WebE process. For SafeHome Assured.com, the communication activity during this second iteration will identify the requirements (including content and functionality) for the second increment.
12.SAFEHOME - First Increment
13.The First Iteration.
The first communication activity is initiated.
The intent is to define business context, establish overall requirements, create a set of usage scenarios, negotiate conflicting needs among stakeholders, and then from this information derive the set of WebApp increments that is to be delivered.
Detailed guidelines for conducting these tasks are presented in Chapters 4 and 5.
For now, we’ll assume that the first increment to be deployed is an informational WebApp that introduces the CPI Corporation and its products.
Stakeholders indicate that this informational WebApp must be deployed in one week!
14.The Second Iteration
Even though time is very short, you commit yourself to the WebE process framework.
The next morning you initiate the communication activity for the first increment by conducting a 1-hour meeting with stakeholders.
You get a reasonably good picture of what is required for the increment.
You learn (much to your relief) that all content necessary for the increment is available in preexisting files and an in-house graphic artist is already at work designing the aesthetic look that CPI wants.
15.Notes of Second Increment
16.Next Activity: Planning
17.The Next Iteration
As soon as deployment (for the first increment) is complete, you’re ready to initiate the next iteration of the WebE process.
For SafeHome Assured.com, the communication activity during this second iteration will identify the requirements (including content and functionality) for the second increment.
So you restart the process flow at the beginning, performing the communication activity for this increment.
The tasks you select to populate each framework activity for the increment may differ from the tasks performed for the preceding increment, but the overall process flow remains the same.
As increments become more complex, the number of work tasks required for each framework activity, and often the complexity of those tasks, is likely to grow.
18.Tasks and Questions to Get Started
Identify business stakeholders. Exactly who is the “customer” for the WebApp?
Identify user categories. How many different types of users will interact with the WebApp? What is the background and sophistication of each user category?
Formulate the business context. How does the WebApp fit into a broader business strategy? Is the strategy well established, and are existing business rules well understood?
Define key business goals and objectives for the WebApp. How is the success of the WebApp to be measured in both qualitative and quantitative terms?
Identify the problem. What specific problem does the WebApp solve?
Define informational and applicative goals. What classes of content are to be provided to end users? What is the status of this content?
Gather requirements. What user tasks will be supported by the WebApp increment? What content is to be developed?
Develop usage scenarios. Have all categories of users who will interact with the increment been considered? Are usage scenarios complete and consistent with increment requirements?
19.Taks for Increment Plan
Refine your description of the WebApp increment to be delivered.
Select the WebApp increment to be delivered now.
Estimate the effort and time required to deploy the increment.
Assess risks associated with the delivery of the increment.
Define the development schedule for the increment
Establish work products to be produced as a consequence of each framework activity.
Define your approach to change control.
Establish your quality assurance approach.
20.What Is Modeling?
In the context of this Web engineering process framework, modeling is an activity that creates one or more conceptual representations of some aspect of the WebApp to be built.
A conceptual representation encompasses one or more of the following forms: written documents, sketches, schematic diagrams, graphical models, written scenarios, paper or executable prototypes, and executable code.
Two Web engineering actions occur during modeling: analysis and design
21.What Analysis Modeling Tasks Can Be Applied?
Decide whether a requirements model is needed.
Represent WebApp content.
Identify content relationships. Refine and extend user scenarios.
Review usage scenarios. Create an interaction model for complex scenarios.
Refine interface requirements.
Identify functions.
Define constraints and performance requirements.
Identify database requirements.
22.SAFEHOME - Modeling
23.What Design Modeling Tasks Can Be Applied
Design the interface (Chapter 9)
Design the aesthetic for the WebApp (Chapter 9).
Design the navigation scheme (Chapter 10)
Design the WebApp architecture (Chapter 10)
Design the content and the structure that supports it (Chapter 10)
Design functional components (Chapter 11)
Select appropriate design patterns (Chapter 13)
Design appropriate security and privacy mechanisms
Review the design
24.What Construction Tasks Should Be Applied?
Build and/or acquire all content, and integrate the content into the WebApp architecture
Select the appropriate tool set for the generation of HTML code
Implement each page layout, function, form, and navigation capability
Implement all computation functions
Address configuration issues
25.Testing Action
Test all WebApp components (content and function). What components are to be tested within the context of user tasks? Have tests been designed to fully exercise functionality?
Test navigation. What links are to be tested within the context of user tasks? What user scenarios are applicable to the WebApp increment to develop appropriate navigation tests? Have tests been designed to fully exercise the navigational structure?
Test usability. What interactive mechanisms must be tested for ease of use? What user scenarios are applicable to the WebApp increment to develop
Test security (as required) and performance. How do we exercise all security fi lters and test the overall performance of the increment? Have tests been designed to ensure that both client-side and server-side capabilities are secure?
Test the WebApp increment for different configurations. Has a list of all technical confi gurations been developed? Have tests been designed to exercise the WebApp increment within all operational confi gurations?
26.How Is a WebApp Increment Deployed?
Deliver the WebApp increment to a server at a predefined domain. Have all file and directory naming and link reference conventions been followed?
Establish an online feedback mechanism for end users. Has an online feedback form been implemented along with the delivery of the first WebApp increment?
Evaluate end-user interaction? How does the user interact with the system? What problem areas are encountered?
Assess lessons learned and consider all end-user feedback. What changes are required based on user feedback? Should changes be made immediately or as part of the next increment to be engineered?
Make modifications to the WebApp increment as required. What modifi cations must be made to this increment? What changes (to requirements and design) must be made to subsequent increments?
27.Quality Assurance
Change Management
Risk Management
Defines and conducts those tasks that help ensure that each work product and the deployed increment exhibits quality.
Manages the effects of change as each increment is engineered, integrating tools that assist in the management of all WebApp content.
Considers project and technical risks as an increment is engineered.
Umbrella Activities
Project Management
Tracks and monitors progress as an increment is engineered.
28.Thanks!
Do you have any questions?
amar.natasuwarna@stmikpontianak.ac.id
STMIK Pontianak
Please keep this slide for attribution