Tutorial Long Question
Tutorial Long Question
Waterfall Development requires that the system requirements be precisely specified prior to implementation and
also often "freezes" those requirements during development. The high degree of effort devoted to specifying user
requirements is a strength of Waterfall Development but specifying those requirements on paper is laborious and
may lead to errors and omissions. "Freezing" the requirements during development helps assure that the system is
developed according to specifications, but in a dynamic business environment, the system that is ultimately
developed may bear little resemblance to what is actually needed at the time the project is completed. Therefore,
extensive maintenance may be needed after implementation to revise the system to meet current conditions.
The two key advantages of the structured design waterfall approach are that:
It identifies system requirements long before programming begins
It minimizes changes to the requirements as the project proceeds.
It is important of an OOSAD approach to be architecture centric because this approach allows the development
team to iterate repeatedly without undermining the stability of the system’s core. If the architecture were to be
revisited and modified over time, then there would be a very good chance that support to some (or most) system
components would eventually be compromised.
Week 3
1. What are the three types of interview questions? Define and identify why an analyst would use each type of
question. Include an example of each question type.
The three types of interview questions are closed-ended, open-ended, and probing. Closed-ended questions are
questions that require a specific answer. Analysts use closed-ended question when they are looking for specific,
precise information. An example of a closed-ended question is “How many telephone orders are received per
day?”
Open-ended questions are questions that leave room for the interviewee to elaborate. Analysts use open-ended
questions to gather rich information and to give the interviewee more control over the information that is revealed
during the interview. An example of an open-ended question is “What do you think about the current system?”
Probing questions follow up on what has just been discussed in order for the analyst to learn more and are often
used when the interviewer is unclear about what the interviewee’s answer. Probing questions encourage the
interviewee to expand or confirm information from a previous response and they are a signal that the interviewer
is listening and is interested in the topic. An example of a probing question is “Why?”
5. What are the key aspects of using observation in the information-gathering process?
Observation is very helpful in enabling the analysts to understand the As-Is system. It is often much easier to
grasp a process by observing it rather than having it explain verbally. Observation helps validate information
learned from other techniques. As an observer, one must always bear in mind that people's behavior may change
because they are being observed. Therefore, the results of observation may be questionable. The behavior that is
observed is not necessarily the true behavior.
Week 4
5. How do you create use cases?
a) Write each step in the SVDPI form
b) Make clear the initiator and receiver of action in each step
c) Write the step from the perspective of an independent observer
d) Write all steps at the same level of abstraction
e) Ensure that each use case represents a sensible set of actions
f) Keep all steps as simple as possible
g) Repeat all actions as necessary.
7. Explain the following terms: actor, use case, system boundary, and relationship. Use layperson’s language,
as though you were describing them to a user.
a) Actor: The actor is someone (or occasionally some thing) outside the system that provides information or
things (inputs) that the system needs, receives some or all of the things or information (outputs) that the
system creates, or the actor can both supply and receive things or information from the system.
b) Use case: A use case is a description of what the system does from the perspective of the user. Since systems
can often do many things, the use case often includes a central activity of the system but also shows the many
variations that can occur under different circumstances or when varied users interact with it in different ways.
c) System boundary: The system boundary is the dividing point between those items that are included in the
system and those that are not. In terms of information technology, the boundary separates the parts of a job
that are done by the application from those that are done by humans. In terms of the entire information system
that includes both the humans and applications working together to solve business problems, the boundary can
be fuzzier. For the efficient development of new systems, however, the boundary shows what the
programmers must include and what they should not include in the framework of the project.
d) Relationship: Use cases are not independent and stand alone items in most examples. Pairs (or more) of use
cases can be related can be associated -- for example there can be communication between an actor and a use
case. Use cases can be extended such that a normal flow of events can be extended to another use case
showing an alternate or exceptional flow. An include relationship shows that one or more use case is a part of
another more encompassing use case. Finally, a generalization relationship shows that a use case is a
specialized example of a more general case
Week 5
1. Describe the terms action, activity and object nodes that are found in an activity diagram.
Action is a simple non-decomposable piece of the overall behavior that is being modeled. On the other hand,
an activity is used to represent a set of actions. An activity can further be decomposed into other activities or
actions. Actions and activities can represent either computerized or manual behavior. They are depicted using
rounded rectangles. Object nodes model objects in the activity diagram. They are represented using rectangles.
Object nodes represent the flow of information from one activity to another activity.
Week 6
8. Explain how a detail use case differ from an overview use case? When are each used?
The overview use case provides a high level version of the system. It shows the basic information and is created
early in the information requirements determination process. In contrast, the detail level use case shows all of the
aspects of the use case needed to document the system.
9. How does an essential use case differ from a real use case?
The essential use case uses only the minimal essential issues necessary to understand specific functionality. In
contrast, the real use case adds in the specifics of how the system implements the request. This seems analogous to
the logical versus the physical views of the system.
10. What are the major elements of an overview use case?
The major elements are its name, ID number, primary actor, type, and a brief description.
Week 7
1. Describe to a businessperson the multiplicity of a relationship between two classes.
When a relationship exists between classes, the multiplicity documents how many objects may or must be
associated between these classes in the form of minimum and maximum numbers. In general, multiplicity reflects
business rules regarding the nature of these relationships among classes.
2. Give two examples of aggregation, generalization, and association relationships. How is each type of
association depicted on a class diagram?
Aggregation: The spark plug is part of the engine; the engine is part of the car
Generalization: The graduate student is a student; the rock music CD is a CD
Association: customer orders book; UPS/FedEx/Post Office delivers book
Generalization shows that one class (subclass) inherits from another class (superclass), meaning that the properties
and operations of the superclass are also valid for objects of the subclass. The generalization path is shown with a
solid line from the subclass to the superclass and a hollow arrow pointing at the superclass. Generalization
relationship occurs when you need to use words such as “is a-kind-of” to describe the relationship.
Aggregation is used when classes actually comprise other classes. For example, think about a doctor’s office that
has decided to create health care teams that include doctors, nurses, and administrative personnel. As patients
enter the office, they are assigned to a health care team that cares for their needs during their visits. Typically, you
can identify these kinds of associations when you need to use words like “is a part of” or “is made up of” to
describe the relationship.
Week 8
1. Give three examples of derived attributes that may exist on a class diagram. How would they be denoted on
the class diagram?
Derived attributes, which are attributes that can be calculated or derived; these special attributes are denoted by
placing a slash (/) before the attribute’s name. For example:
a) -/ age (derived from the difference between birth date and current date.
b) -/ line-item cost (derived from multiplying product price by quantity)
c) -/ grade point average (derived from the dividend of total grade points by total units)
2. What are the different types of visibility? How would they be denoted on a class diagram?
Visibility relates to the level of information hiding to be enforced for the attribute. The visibility of an attribute
can be public (+), protected (#), or private (-).
Week 9
1. What is meant by class cohesion? What are the characteristics of ideal class cohesion?
Class cohesion is the level of cohesion among the attributes and methods of a class (i.e., how single-minded a
class is). A class should represent only one thing, such as an employee, a department, or an order. Cohesive class
should have these attributes:
1. It should contain multiple methods that are visible outside the class.
2. Each visible method performs only a single function.
3. All methods reference only attributes or other methods defined within the class or one of its superclasses.
2. What are the three primary hardware components of any physical architecture?
The three primary hardware components of any physical architecture are:
1. Servers
2. Client computers
3. Network
3. Compare and contrast server-based architectures, client-based architectures and client-server- based
architectures.
Although there are numerous ways in which the software components can be placed on the hardware components,
there are three principal application architectures in use today: server-based architectures, client-based
architectures and client–server architectures. The most common architecture is the client–server architecture.
Server-based architecture: Being one of the very first computing architectures, this had the server performing all
the four application functions.
Advantages:
Simple architecture works well
Single point of control cause all messages flow through server
Application software is developed and stored on one computer and all the data are on the same computer.
Disadvantages:
Server must process all messages
Increase in applications results in slower response rate
Server upgrades come in large increments and are expensive.
Client-based architecture: Clients generally are personal computers on a local area network and the server
computer is on the same network.
Advantages:
Simple architecture and works well
Disadvantages:
All data on the server must travel to the client for processing, resulting in network overload and high
power requirement on client computers.
Client-Server architecture: Most organizations today are moving to client–server architectures, which attempt to
balance the processing between the client and the server by having both do some of the application functions. In
these architectures, the client is responsible for the presentation logic while the server is responsible for the data
access logic and data storage. The application logic may reside on either the client, the server, or be split between
both.
Advantages:
They are scalable
They are able to support different types of clients and servers.
For thin client server architectures that use Internet standards, it is simple to clearly separate the
presentation logic, the application logic, and the data access logic and design each to be somewhat
independent.
Network stability
Disadvantages:
Writing software is more complicated because client-server computing requires two applications: one on the
client and the other on the server.
Updating the network with a new version of the software is more complicated, too.
Software updating is to be done in all servers and clients.
Week 10
1. How can different parts of the interface be consistent?
The navigation controls can be consistent, using the same icon or command to trigger an action throughout the
system. Terminology can be consistent throughout the interface. The content portion of the screen that
contains forms and reports should also present consistently designed reports and forms. Messages and
information in the status area should be specified consistently throughout the system.