Object-oriented Systems Analysis and Design

Home Admissions Course Guide Object-oriented Systems Analysis and Design
Object-oriented Systems Analysis and Design
This Course Guide has been taken from the most recent presentation of the course. It would be useful for reference purposes but please note that there may be updates for the following presentation.

BIS B329
Object-oriented Systems Design and Analysis



Introduction

Welcome to BIS B329Object-oriented Systems Design and Analysis, a 10-credit middle level course in the OUHK's Business Information Systems programme. This course teaches you the practical skills required to design an object-oriented computer system. Learning to 'think in objects' is quite a challenge, but we hope you will find it an interesting one.

What this course helps you do

Here's a list of the things you should be able to do once you have completed this course. Of course, at this point, you probably don't understand all of them! But as you work through the course, you will begin to understand what the course learning outcomes mean.

Course learning outcomes

Upon completion of this course, you should be able to:

  1. Analyse the fundamental tenets of object orientation.

  2. Apply object-oriented analysis and design skills and notations to a stated problem.

  3. Develop an actor and a use case model.

  4. Draw dynamic diagrams to address the behavioural aspects of a system.

  5. Discuss the role of metrics and illustrate how project estimation is carried out.

  6. Review the fundamentals of relational and object-oriented databases, and create a relational database for use by an object-oriented system.

  7. Discuss project management and software development issues as they relate to object-oriented systems development.

Working through this course
Course outline summary
Unit Weeks Assessment
1 Introduction to object-oriented systems development 1-2  
2 Requirements and use cases 3-6 Assignment 1 due end of week 8
3 Object-oriented modelling 7-10  
4 Patterns and design modelling 11-14 Assignment 2 due end of week 18
5 Dynamic modelling 15-18  
6 Packages, principles and patterns 19-23 Assignment 3 due end of week 27
7 Testing, metrics and estimating 24-25  
8 Databases 26-28  
9 Issues in object-oriented development 29-30  
Revision 31-32  

In addition to this Course Guide, the course has the following important components. Please ensure that you have all of these materials available.

Study units

The study units are in your package of printed course materials, and you can also access the online versions through the BIS B329Open Learning Environment (OLE).

Unit 1 introduces the fundamentals of object orientation, putting it in the context of developments in computing over the last 40 years.

In Unit 2 we closely examine who the users of the system will be. We will study approaches to ascertaining and capturing the requirements for the system.

Unit 3 is the first of four units devoted to various aspects of object modelling. Specifically, Unit 3 is about determining the correct objects for a system. Unit 4 looks more closely at the requirements of the system and adds this information to our models. Unit 5 is about designing the messages that are sent between objects. Unit 6 covers techniques for handling the complexity of an object-oriented system.

In Unit 7 we take a step back and discuss testing, measuring and estimating in terms of object-oriented systems. While these concepts are also relevant for non object-oriented (often called 'traditional') systems, the approach here is quite different. Testing is done at many levels -- we test one object on its own, we test groups of co-operating objects, and we test the system as whole to ensure that the system correctly adheres to the users requirements.

Unit 8 is all about using relational databases for object-oriented systems. As we will see, using a relational database greatly adds to the complexity of building and maintaining an object-oriented system. However for a variety of reasons, including financial, training, risk management, commercial and legacy data requirements, very few organizations use object-oriented databases.

Lastly, Unit 9 looks at a few topics in object-oriented systems, namely project management, code reuse and software development tools. While the core skills for managing a project are the same for a traditional system and an object-oriented system, there are some important differences. The reuse of code is an important topic in object-oriented systems. The idea is that once objects have been designed, written and tested for one project, they potentially can then be reused in another project, thus reducing the development time and cost of the second project. This approach can and does work, but only under the right conditions, which are explored in Unit 9.

Case studies

The course makes use of three case studies:

  • 'The NextGen POS system', which you will find on page 29 of the textbook.
  • 'Victoria's Videos', which you will find in Unit 1.

Set book

There is one set book: Larman, C (2004) Applying UML and Patterns -- An Introduction to Object-oriented Analysis and Design and Iterative Development, Addison Wesley, 3rd edn, ISBN 9780131489066.

You must buy this book yourself, and can obtain it from Times the Bookshop.

Readings

There will be a number of additional readings from journals or books in each unit. These readings are provided as part of your course package.

Assignment File

Assignment questions for this course are contained in the section of your course materials entitled Assignment File.

Presentation Schedule

The Presentation Schedule is available on the OLE, and gives the dates for completing TMAs and attending tutorials, day schools, and so on.

Assessment strategy

BIS B329 has three assignments and one final examination. Please refer to the table below for the weighting of the assignments.

The following table summarizes the course marking scheme.

Assessment Weighting of overall course marks
Assignments 1 12.5% 40%
Assignments 2 12.5%
Assignments 3 15%
Final examination 60%
Total 100%
Use of case studies

Case studies are a useful and increasingly popular form of learning and assessment in the OUHK's School of Business and Administration. In this section we will look at why case studies are used and then suggest some learning strategies that you can use to approach case studies. We will also briefly discuss some problems that you may encounter as you learn from case studies.

What is a case study approach to learning?

One main purpose of a case study is to explore an issue or a number of issues in relation to an organization. The intention is to get you to carefully diagnose an organization; to focus on key problems, and to suggest how these might be resolved. Often the case is a real-life account of an organization which you are required to analyse in order to focus on a problem. Usually, the information that is provided is incomplete and you are often expected to observe developments in the organization over a period of time. The case study approach is an excellent opportunity to actively apply material that you have read and conceptual knowledge to the reality of an organization.

At the OUHK, case studies may be used as part of TMAs, exams, study units, or day-school exercises. You normally are given some information about a company (this could be both text and graphical information, such as figures and tables). You are then asked to think about some problems related to the company and to use concepts and apply theories that you have learned in your course to propose possible solutions for the company.

Let's have a look at two kinds of case study questions that you might be asked to work through in your courses. The first example is quite structured, while the second is much more open-ended.

Two examples of case study questions

  1. Read the case study entitled 'ABC Consultants' and consider the following issues:

    • Using your understanding of the resource-based model, what measures could be taken to improve ABC's returns?

    • Drawing on your broad understanding of the consultancy industry, assess ABC's relative competitiveness and its profit potential.

    • To what extent do internal factors account for ABC's financial weaknesses?

    • Based on your assessment of ABC's financial weaknesses, formulate a new strategic intent and develop a mission statement for ABC.

  2. Read the case study entitled 'XYZ Industries'.

    • Identify the key problems that are currently faced by XYZ's management.

    • Propose viable solutions to these problems.

Why case studies?

As you can see from the above examples, a case study approach to learning requires a great deal of thinking and often will not easily yield a quick 'wrong' or 'right' answer. However, case studies are also good preparation for dealing with real-life business problems. Cases may be short and relatively simple, or longer and complex. The purpose is the same for both types: to give you an opportunity to develop your skills in analysing the strengths and weaknesses of the organization under examination, to consider the processes at work within the organization, and to make decisions about future actions.

Case studies are not meant to replace textbooks, but rather to ask you to draw connections between theories and practice and to apply abstract ideas, concepts, and principles to specific concrete situations. Consequently, case analysis develops a number of skills that are crucial in business. In particular, they help you to:

  • analyse complex, unstructured, sometimes ambiguous situations;

  • identify critical issues and problems;

  • question your own and others' assumptions;

  • improve your problem-solving skills;

  • develop your ability to find alternatives and make informed decisions;

  • make decisions with incomplete information and think strategically;

  • self-educate yourself and draw on a broad range of resources and knowledge; and

  • present and justify recommendations in writing.

You may find that there are many possible 'right' answers to the questions in a case study. This illustrates that there is often no single best way to responsibly manage and solve real-life business problems.

Some guidelines for analysing case studies

The following strategies should help you to successfully analyse case studies:

1 Read the case and become familiar with the facts

First, skim read the case to obtain a general understanding of the main point(s). Highlight or underline the pertinent points as you read.

Read the case again, and this time note down critical facts (such as names, time sequences, and where events occurred). Try to understand how events have influenced decisions. Identify the important individuals or stakeholders, and try to assess the importance of supporting information in the case. How reliable is this supporting information? Are there any gaps in the information that is given?

Make a note of any questions that you have as you read the case.

2 Assess the context of the case

Try to understand the environment of the organization and the wider context of the case.

Ask yourself questions about:

  • The state of the organization: What is the state of this organization: good, bad or in-between? Usually this involves thinking about interpersonal relationships, and assessing production or financial problems.

  • Key players and systems: How do systems and people operate in this organization? Why do they operate like this? Are the systems undergoing change? How successful are the changes? Is there someone who could sabotage any future strategy? Is there someone who can ensure the success of a future strategy?

  • Significant trends: How does this industry operate? What are the main or unique characteristics of the industry? What were they five or ten years ago, and what are they likely to be in the future? What impact are trends likely to have on the organization under investigation? How does this organization's performance compare with that of competitors?

  • Constraints: Clearly identify all constraints in the case. A constraint may be viewed as anything (usually beyond the control of the organization) that may prevent an otherwise feasible course of action from becoming a success. What is outside the control of individuals in the case study? For example, it is unlikely that any company or individual in Hong Kong could prevent a foreign government from imposing tariff barriers on imports.

A SWOT analysis is a good way to get a better understanding of the organization and the context or environment in which it is operating. A SWOT analysis considers the Strengths and Weaknesses of the organization, and the Opportunities and Threats which the organization faces in the external environment.

3 Recognize the case's symptoms

Read the case again and as you read, try listing all the symptoms of the case. The symptoms of a case are not the problems, but they may help you to identify the problems. Symptoms are all the things that are undesirable or that are not as expected. For example, falling sales could be a symptom of several problems such as poor market segmentation, poor product quality, or problems in a supply chain. At this stage of your analysis, you should just try to observe all the symptoms, and avoid prematurely identifying problems or suggesting solutions. Like a doctor who consults a patient, you first need to observe and note all the symptoms before you can give a definite diagnosis of the problem. Think about how the symptoms may be interrelated. Relationship diagrams, like the one below, may help you to see the relationships between symptoms.

4 Diagnose the case's problems

After you have a good sense of the symptoms, you're ready to determine key issues that need to be analysed more closely. You are now diagnosing the situation, like a doctor diagnosing a patient's symptoms. Ask yourself 'what seems to be the trouble in this organization?' and make a list of what you now perceive to be the key problem(s). You will probably need to go back to the details of the case and as you do this, you may add to or refine your list of potential problems.

If there are several problems, you need to order and prioritize them. You might want to number problems according to how you perceive their importance, or make a matrix, like the one below, which shows relationships between various criteria and each problem.

Criteria Problem #1 Problem #2 Problem #3
Importance: what will happen if the problem is not addressed?      
Urgency: how quickly must this problem be solved?      
Centrality: To what extent does this problem cause others?      
Solvability: Can this problem actually be solved?      

Also try to establish if there are relationships or themes in common among the various problems. Perhaps different problems in your list are actually variations of a broader central problem.

Ask yourself what assumptions you have made about the case. Are these assumptions reasonable, and are they supported by the facts? Would other people objectively suggest the same problems, based on the facts that you have? Are you suggesting problems that are not supported by the facts of the case?

After you have considered and put into order the possible problems and questioned your assumptions relating to these problems, you should write a statement of the problems as you perceive them. Avoid suggesting solutions at this stage.

Once you have a problem statement, you need to find evidence in the case to support your problem diagnosis. Also, try to identify ideas, concepts and theories from your textbook and course units which help to explain what is happening in the case.

5 Formulate criteria for a 'good' solution and identify possible constraints to solutions

Before you propose a solution, you need to consider the characteristics of a 'good' solution. Obviously, your solution should bring benefits such as improved productivity, reduced costs or greater profits. However, it also needs to be viable and to accommodate the constraints that you have already identified, i.e. Is the solution legal? Is there a budget for this solution? Does it conflict with the organization's culture?

Try to brainstorm alternative solutions. Aim to generate a broad and creative range of options and then try to rate each according to various criteria.

The following matrix demonstrates how this can be done.

  Cost Ease of implementation Impact on organization culture Impact on profits
Option 1 *** * * **
Option 2 * *** *** **
Option 3 ** * * ***

Also refer to ideas, concepts and theories from your course materials as you consider and assess each possible solution.

It's often wise to propose a solution that allows for plausible alternatives if it should fail. Managers use the term satisfice when they are considering acceptable alternative solutions, that is, the solution is able to satisfy the situation while also making some realistic sacrifices to existing constraints. Therefore, it is a satisficing rather than a maximizing solution.

Finally, don't forget to consider the possibility of taking no action. What will actually happen if no action is taken? Are any (or all) of the solutions less viable than taking no action at all?

6 Recommend a viable solution

After you have assessed the merits and pitfalls of each alternative solution, select the best solution for the situation.

Remember that the solution needs to be viable. Can the recommended solution be introduced? Are there the resources and the willingness to implement it? Be realistic about what may work. Explain why it is the best solution within the constraints of the existing context and explain how it can be applied to the organization. Suggest a time-frame for the solution's implementation.

Outline possible strategies for implementing your solution, either partially or completely. As many feasible courses of action as possible should be considered before you choose the one that seems the most likely to succeed. The more ideas you have, the greater your chance will be of finding a solution that will work well. The complexity of most organizational problems means that it is highly unlikely that one idea alone will correct the situation. Usually a combination of actions is required, and these need to be funded differently, timed carefully and staffed as necessary.

7 Present your solution as a written recommendation

Review your final solutions and then prepare a set of written recommendations. These should clearly outline your proposed solution in relation to the problems that you have identified. Your recommendations should also include details of why these solutions are the most appropriate given the circumstances and constraints of the case. Finally, you need to clearly state how and when your proposals will be implemented.

Your tutor and your course Assignment File can provide some guidelines on how to present your recommendations.

Some mistakes to avoid as you analyse cases

When you first tackle case studies, you should be careful to guard against the following mistakes:

  1. One of the most common mistakes made in case analysis is repeating or simply summarizing the facts of the case. Your tutor is already very familiar with the case details, so you do not have to restate them. You are required to use and analyse the facts, not repeat them. Your analysis should contain only enough case material to support your arguments. Therefore, be analytical!

  2. You may often be tempted to just deal with symptoms and ignore the causes of the problem. It is very important to analyse the background of the case (and the climate in which the events of the case unfold).

  3. Avoid discussing problems in isolation and do not overlook their interrelatedness. If you try to think in terms of 'systems' rather than in terms of individual problems, you are more likely to avoid this pitfall.

  4. Students often fail to state the assumptions underlying their analysis. If any important assumptions have been made, have you questioned them and are they reasonable and appropriate? Avoid selectively using and interpreting case material in order to justify a preconceived solution.

  5. Practical limitations and constraints may sometimes be overlooked. For example, a recommendation that a whole team be fired is probably unrealistic.

  6. A very common mistake is poor integration of the facts in the case with the concepts, principles, and theories in the textbook. Such integration is vital. Ask yourself if relevant theories from your course have been fully and constructively applied.

  7. Finally, recommendations are too often not spelled out in detail or are unrealistic. A timetable for implementing them is also often not given.

Analysing cases poses many challenges, and this is one reason the case study method is so rewarding. It is a very active form of learning. It offers you a risk-free opportunity to gain managerial and organizational experience and should greatly increase your confidence to make informed decisions in the real world.

Good luck and we hope you enjoy working through the cases that you encounter!

Tutors, supplementary lectures, tutorials and surgeries

There are five supplementary lectures, 11 tutorials and a surgery, each of two hours, providing a total of 34 hours of face-to-face sessions. All these face-to-face sessions are not compulsory but you are very strongly encouraged to attend.

Online support

The course is delivered in mixed mode: printed mode as well as online mode, using the OUHK online learning environment (OLE). You will be able to communicate with the Course Coordinator, tutor and your fellow classmates through emails, discussion board and news.

Conclusion

Design is difficult. Good design is even more difficult, and requires practice and time. Unlike accounting, there is often more than one correct answer. If you ask your tutor questions, they may frequently answer with 'it depends'. This can be very frustrating at first, but with the repeated practice involved in the case study, self-tests and tutorials, you should gain confidence, and, we hope, enjoy the course. Good luck!

A note about the developers of this course

Karin Kolbe (BSc, MSc) has extensive experience in object-oriented consulting and training. She has written and conducted courses on object-oriented analysis and design, writing use cases and usability. Over a wide range of applications, including portfolio management, road traffic control, policing and e-commerce, she has worked in the role of project manager, business analyst, methodologist and programme manager.

Geoffrey Phipps (BSc, PhD) is an experienced consultant and software architect, skilled in Java, J2EE, distributed computing, and investment accounting on both Windows NT and Unix. His aims are to continually improve the software process, using object-oriented technologies and software metrics.

About the Lee Shau Kee School of Business and Administration

Click here and view the Lee Shau Kee School of Business and Administration.