Thursday, December 9, 2010

UML

SYSTEM ANALYSIS AND DESIGN
QUESTION 1
The University is considering a new system to speed up the student registration process. As a systems analyst, you are asked to develop a plan for fact finding.
(a) List all the information gathering techniques that all systems analysts must be able to use.
(b) Explain any three of the techniques listed.
(c) Explain the criteria for selecting a given technique.

Solution
(a) Interviews
Questionnaires
Observation
JAD (joint application design)
Document Analysis

(b) (i)Questionnaires
This is the mode of gathering data from sampled participants in order to understand an existing system or know the expectations of a new one. The researcher sets off by firstly carefully designing the questions which would best reveal the desired information he so desires.

He, then, goes ahead to administer these questionnaires to his sampled participants and makes sure that they answer them. This is done through follow-ups. But care should be taken that the one administering the questionnaires has good inter-personal skills in order to have a successful survey of opinions.

(ii) Interviews
This technique also involves gathering information from people though in this sense, one would have to talk to his interviewees and ask them relevant and well-crafted questions in order to receive relevant answers. The interviewer is to be able to respectfully steer the conversation/interview to areas of his interest while sifting through all that the interviewee would say.
To engage in a successful interview, the interviewer must first select his interviewees (people he thinks are in a position to know what he needs to know). He can then proceed to formulate concise and relevant questions which he would use to both prepare and conduct the actual interview. It is necessary that after the interview, there be a follow-up by the interviewer in a bid to re-gather vital information interviewees might have forgotten to share, and also probably give them feed-back on the previous interviews.

(iii) Observation
Because people cannot always remember everything they do and the fact that they tend to act differently from their usual selves when they know they are being watched, there is need to independently verify information gotten from them through different methods. Observation is that technique of gathering information without the involved parties becoming aware of it. The Observer should make sure to be discrete, unpredictable and attentive to everything that happens regarding his subjects so that he can read trends which can be compared with information gathered through other sources.

(c) When choosing an information gathering technique, one should take into consideration
1. What type of information is being sought?
2. What is the gravity of the information being sought?
3. What is the scope of the information being sought?
4. Which technique can give corroborated information?
5. Is there need for users to be involved or they can circumvented?
6. What is the comparative cost in getting relevant information through the use of any given technique?

QUESTION 2
(a) What is UML?
It is the abbreviation for Unified Modelling Language. Since a model abstracts the essential details of the underlying problem from its usually complicated real world, it is necessary that there be a standard set of tools which can be used to organize/develop these models so as to allow many categories of people understand them.
Explain the use of the following diagrams:
(i) Use Case diagram:
They are UML diagrams that describe what a system does from the stand-point of an external observer. This is gotten from the fact that a use case, per se, is a summary of all the scenarios for a single task. It is made up of an actor (the user of the system), a use case (what the actor uses the system for) and an association (the actor’s relation to the use case). Thus a use case diagram is a collection of actors, use cases and their relative associations.
They are useful in that they, primarily, help in determining system requirements since new cases may elicit new system requirements as the diagram takes shape. They also aid communication between system developers and clients through the use of relatively simplified diagrammatic notation. Finally, they are useful in generating test cases in that the associated scenarios give a perfect collection of test cases for the system.

(ii) Class Diagrams:
A class diagram gives an overview of a system by showing its classes and the relationships among them. Class diagrams are static in that they display what interacts but not what happens when they do interact. This is from the background that a class is a template for merging attributes and behaviours into a single distinct entity, an object.