01.01.2015 Views

UML Weekend Crash Course™ - To Parent Directory

UML Weekend Crash Course™ - To Parent Directory

UML Weekend Crash Course™ - To Parent Directory

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Session 28—Analysis and Architectural Design of a Web Application 289<br />

Performance: How rapidly must the system reply to user requests Web systems<br />

sometimes have more performance limitations than standalone systems. The client<br />

specifies constraints for the responsiveness of the system.<br />

Scalability: How many concurrent users must the system be able to support now and<br />

in the future Many Web systems can be bombarded with hundreds or thousands of<br />

concurrent users. <strong>To</strong> keep the project cost lower, the clients decide that moderate<br />

growth potential (scalability) is acceptable for now as long as the system is easily<br />

adaptable to a more scalable solution in the future.<br />

Security: How much and what kind of security protection is required Any kind of<br />

networked system can potentially be very vulnerable to malicious attacks. As is true<br />

with most requirements, the greater the security, the greater the cost of the software<br />

and hardware. The client wants to ensure reasonable security and defines the<br />

budget limitations accordingly.<br />

Adaptability: How easy should it be to modify the system to meet new requirements<br />

A more adaptable system will generally be far less expensive to maintain in<br />

the long run and may survive longer before it becomes obsolete. However, developing<br />

a system with high adaptability takes more time and money. The client has put<br />

a very high priority on high adaptability because it expects that this is just the first<br />

cautious step onto the Web and the company expects to add a lot more functionality<br />

to this system later.<br />

Cross-Ref<br />

For a detailed description of the requirements gathering process and the<br />

problem statement, see Session 4.<br />

Creating the Use Case diagram<br />

During the requirements-gathering phase for this project, you will again develop a Use Case<br />

model. This model will not be fundamentally different for a Web system than it is for a non-<br />

Web system. The Use Case model helps you to better understand who will use your system<br />

and what features they will use. Figure 28-1 shows the Use Case diagram for the case study.<br />

There is a Use Case for the user to create an account that will allow him to log in so that he<br />

can store and query his appointments and contacts. The Upload Appointments and Contacts<br />

Use Case will upload a copy of his appointment and contact data onto the Web server for<br />

querying. The user has a general Use Case for querying his appointments and another for<br />

querying his contacts.<br />

Customers using wireless devices such as cell phones will require a different kind of<br />

markup language and will require very different interfaces for the querying to make it<br />

usable on these very limited devices. The requirements-gathering team decided that the<br />

functional differences between traditional wired Web clients (like desktop and laptop<br />

computers) and wireless Web clients (like cell phones) justified separate Use Cases.<br />

However, because they are similar, you show a Use Case generalization to indicate that<br />

the four specific querying Use Cases inherit from the two general querying Use Cases. All<br />

the querying and uploading Use Cases are extended by the Log In Use Case, because the<br />

user must be logged in to run any of these Use Cases.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!