Applied Software Engineering
Component Software Development
Learning outcome 1: Understand the notion of software engineering and why it is important
Learning outcome 2: Analyse the risk factors associated with phases of the software development life-cycle and generate possible strategies to mitigate the risks.
Learning outcome 3: To know various techniques and notations for understanding problem domain
Learning outcome 4: To appreciates the role software architecture in software development and be able to characterize some important architectural styles
Learning outcome 5: To understand the role of design patterns and be able to illustrate their properties
Learning outcome 6: To be able to discern desirable properties of a software design
Learning outcome 7: To understand the general flavour of object-oriented analysis and design
Learning outcome 8: To be aware of the major software testing techniques
Learning outcome 9: To be able to discern major causes of maintenance problems and be aware of reverse engineering, its limitations and tools to support it
Title UML Design
Task details This assignment is accompanied with a case study describing a high level system specification for an application.
Assignment Tasks:
Task 1
Use case model
Develop a Use case model for the information provided for ONE use case. As part of your answer produce the use case description and use case scenario steps. Include appropriate use case refactoring.
Task 2
Class diagram
Produce a class diagram with appropriate principles of object orientation applied, related to the use case model in Task 1. As part of your model, produce a system class with clear set of public methods.
Task 3
Sequence diagram
Produce a Sequence Diagram for the selected use case. Include possible guards, iteration, and message operations in your diagram.
Task 4
Component Models
Produce ONE Component with associated interface methods to represent the class diagram in Task 2. As part of your solution, illustrate various possible component composition and discuss the significance of your design.
Task 5
Object Constraint Language (OCL)
Incorporate OCL to represent the business logic, rules and constraints for the selected use case. As part of your solution include the correct syntax for pre and post conditions, navigation, and multiplicities. Produce a list of appropriate business rules and constraints.
Notes:
Upload your answer sheet in a PDF file format
To produce diagrams, you may choose any suitable drawing tool, such as StarUML. Java source code listing and implementation is not required for this assessment.
Attempt ALL tasks
Marking Guide Criteria Issues Mark Marking breakdown where appropriate
Use case diagram Have captured the application functionality in a use case diagram. 5 Use case diagram
Use case description and scenario steps
Class diagram Have you provided a class diagram which captures all elements of the system? 10 Class diagram with appropriate associations and multiplicities
Do you explore the issues involved in the engineering task required and software design required?
Have you understood the main functions that must be provided by the system?
Have you documented your engineering analysis findings?
Have you applied the required level of abstraction in your models?
Have you produced a sequence model associated with your given use case scenario?
Appropriate principles of Object Orientation
Sequence model Have you produce a Sequence Diagram for the selected use case?
Have you included possible guards, iteration, and message operations in your diagram. 5 Sequence diagram
guards, iteration
Component Model Have you produced a suitable Component and associated interface and component composition?
Have you related your component to the classes in your class diagram?
Have you applied appropriate component composition? 10 Component and associated interface and component composition
Component composition
Object Constraint Language (OCL) Have produced correct OCL to represent the business logic, rules and constraints for the use case?
Have you included the correct syntax for multiplicities?
Demo and viva Ability to demonstrate the UML documents and answer questions.
Case Study
Hill & Knowlton Looks for a New Knowledge Management System
What does a company have to do to increase the likelihood of success when installing a knowledge management system? Or to put it another way, why do about half the knowledge management projects fail? These are the questions that Hill & Knowlton (H&K) faced in early 1999 when it realised its current knowledge management system was not helping the company.
H&K is a global public relations firm headquartered in New York City with 1,900 employees and 68 offices in 34 countries around the world. As in so many other fields today, knowledge is central to public relations. Moreover, because public relations firms are project-centred, their employees and their clients must constantly share large amounts of information. Specifically, H&K employees need to be able to share information not only with their project mates but also with other H&K employees who have experience working with similar clients or experience working on similar products. Then they also must continually exchange information with their clients. In addition, all parties often need external information, such as market data, which they want to be able to access through the company's knowledge management system. Finally, the company needs to preserve its organisational memory, the collective, stored learning of the firm, to minimise the impact when employees leave. This memory is not only critical for H&K employees to carry out their daily work but it is also vital in training new employees quickly and effectively.
H&K had previously built an Intranet to facilitate the sharing and management of its project knowledge. However, the current system was seldom used and so Ted Graham, H&K's worldwide knowledge management director, had to identify the reasons why and then either fix the old system or build a new one that employees would actually use. To examine the problem, Graham turned to H&K's worldwide advisory group. The group traditionally meets once every two years to work on long-range company issues. In this case it collected feedback from around the world and learned that H&K employees saw many problems with the existing system. Most important, however, they simply had little reason to use it. They indicated the data were out of date, inaccurate, and often irrelevant. For example, they noted that the staff biographies were quite outdated, even so far as to still contain biographies on former staff members who had left the company as much as two years earlier. Biographies are essential to H&K clients because they want to know the skills and experience of the H&K staff assigned to their accounts. H&K employees use biographies to help them identify someone with relevant experience that they can turn to for advice and help. Moreover, employees indicated they wanted a system that was easy to use where they could find one-stop shopping for all kinds of knowledge, rather than having to go to four or five different places to fulfil their needs.
The project established a new portal-type Extranet, which it named hk.net. The site is password protected so that employees and clients can access only the internal data they need to see. One of the first problems the project team faced was updating and consolidating the history of all recent projects, which could be found in past emails that were stored without any order. The team needed to organise the emails and then to make them easily searchable. The project team turned to Intraspect Software of Los Altos, California, and particularly to their package called Salsa. The software enables users to store with ease emails and their attachments by project team and by client. Each email is immediately indexed by subject and can be searched by key phrases or words. For the first time team members could find needed past information without spending a lot of search time and effort.
Easily accessible email solved other problems for the company. When H&K employees or their clients' employees were assigned to a project, they were immediately told to read the archived
project emails. In this way they were quickly and inexpensively brought up to date. "The client likes this because they're not paying for the new person to become educated," explained Graham, "and we like it because it lowers the cost of replacing employees."
The Extranet captures three essential "buckets" of knowledge identified by the project team as essential to HK business processes: internal knowledge of H&K's own products and services; external knowledge, such as research, industry news, and economic forecasts; and client knowledge, such as account activity, budgets, and templates. H&K can customise the company's Web site for each of its clients using hk.net, so that when a client's staff member logs on to its hk.net channel, they are greeted with the client's company logo. All information on hk.net is accessible through on-screen folders, one each, for example, for emails, administrative information, and case studies, plus an H&K directory including staff biographies. These folders are arranged according to the preferences of the client.
Andrea Bartolucci, a Toronto-based H&K employee, has realised huge time-savings by using hk.net. She spends half her time marketing the company to prospective clients and must assemble "credential packages" that highlight the H&K's experience in a particular industry. The package includes descriptions of past projects and biographies of H&K staff members who might be assigned to the account. Because much of this information has already been assembled by H&K in a package for another client, she can repackage it instead of starting from scratch.
Connectivity is one problem that the team could not fully solve. Because of the local infrastructures, the data are carried at different speeds in different locations. For example the Toronto and New York offices operate at high speed because both use T1 connections. The Paris office, however, has an available bandwidth of only 14.4 kilobits per second. H&K was able to use some crude workarounds to improve usage in Paris, but they were unable to fully solve the problem.
Persuading employees and clients to use the system was a big challenge. "Technology alone can't make things right," says Bartolucci. "People need to be trained to get used to it." Employees were reluctant to post information to the Extranet as a matter of routine. The company offered training, but, in addition, it also offered incentives. Bonuses were given to the managers of groups that contributed the most to their project sites, and the managers were responsible for deciding how to share the funds with their team members. In addition, the company offers recognition to those whose contributions are accessed the most by others by listing the authors on a company "best-seller" list. Such a "reputational" incentive causes an individual to become recognised as an expert by co-workers. Graham also believes that those who are so recognised will "end up with better assignments, [such as flying] to South America to work on an exciting new project." H&K is also using its power by making knowledge-sharing part of performance reviews.
To encourage employees to use the Extranet to find out information, H&K has embedded a form of micro-payment called "beenz" throughout the site. Every time an individual opens a document or contributes information, that person stands a chance of collecting beenz, which can be redeemed for books, CDs, and even vacations. H&K is also posting its internal announcements on the Extranet and sending employees the links instead of emailing the announcements directly. Once on the Extranet, employees are more likely to explore other hk.net information resources.
Sources: Eric Berkman, "Don't Lose Your Mind Share," CIO Magazine, October 1, 2000; Larry Stevens, "Incentives for Sharing," Knowledge Management, October 2000; and Steve Barth, "KM Horror Stories," Knowledge Management, October 2000.