Chapter 4: Use Case Analysis

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

Chapter 4: Use Case Analysis

What is a use case?

A use case is a document that depicts a set of activities that, when performed, produce a result. It shows
how a system interacts with its environment by illustrating the activities that are performed by the users,
and then the system's response to those activities.
Use cases help us better understand how a process works, and how the user interacts with that process.

In what phase are use cases used?

Use cases are used in the analysis phase.

What is event-driven modeling?

Event-driven modeling is a modelling principle where everything in a system operates as a response to


some triggering event. When there are no events, the system is at rest. Use cases operate on this principle.

What are the basic elements of a use case?

There are numerous elements in a use case:


- Basic Information
-- Use Case Name
-- Use Case Number
-- Priority
-- Trigger (The event that causes the use case to happen)

In a use case, what are preconditions?

Preconditions in a use case define what state the system must be in before the use case can begin.

In a use case, what is the actor?

In a use case, the actor is the person or thing that interacts with the system.

In a use case, what is the normal course?

The normal course in a use case is where the major steps are listed. These steps are listed with their inputs
or outputs in a column to the right, with arrows indicating whether they are inputs out outputs.

In a use case, what are alternative courses?

In a use case, alternative courses are depictions of alternate paths that could be taken from the steps in the
normal course that would still end in a successful completion of the use case.
In a use case, what are postconditions?

In a use case, postconditions are how the system environment should be after a successful completion of
the use case. It defines the "product" of the use case, to a degree.

In a use case, what are exceptions?

Exceptions in a use case are error conditions that may occur as the use case steps are performed. They
would prevent the successful completion of the use case.

What should be the final section of a use case?

The final section of a use case should be the inputs and outputs.

What are some examples of additional sections that might be added to use cases?

Some additional sections that can be added to use cases are:


- Frequency of Use
- Business Rules
- Special Requirements
- Assumptions
- Notes and Issues

What is a "fully-dressed" use case?

A fully-dressed use case is one that is exceptionally thorough, detailed, and highly structured.

What is the difference between a use case and a functional requirement?

Use cases are only able to convey the user's point of view, whereas a functional requirement looks at the
system through the developer's eyes, giving more detail as to what the system should do.

How do use cases and testing mesh?

Use cases and testing mesh easily. Use cases can be studied early on to determine and create tests for
the system later on.

What are the steps to building a use case?

There are four steps needed to create a use case:


1. Identify the use cases needed.
2. Identify the major steps within each use case.
3. Identify the elements within each step (triggers, inputs, etc).
4. Confirm the use case.
Chapter 5:Process Modeling

What is a process model? Give some examples.

A process model is a graphical model that is used to further clarify the requirements definition and use
cases, showing how a system should operate. Process models can illustrate either the as-is or to-be
systems.
Examples of a process model would be:
- Data Flow Diagrams
- Logical Process Models
- Physical Models

What are the four symbols used in data flow diagrams?

The four data flow diagram symbols are processes, data flows, data stores, and external entities.

What is a process?

A process is an activity or function that is performed for some specific business reason. Processes can be
manual or automated.

How are processes represented and named in a data flow diagram?

In a data flow diagram, a process should always begin with a verb and end with a noun. They should also
have a number assigned to them. The symbol of a process is a rounded rectangle with a shaded upper
region, where the process number belongs. The unshaded area should contain the process name.

How are data flows represented and named in a data flow diagram?

Data flows are represented by arrows connecting either processes, data stores, or external entities. They
are named after nouns.

How are data stores represented and named in a data flow diagram?

Data stores are represented by a thin rectangle with a small shaded square filling the first 1/5th. Inside this
square, the data flow number (D1, D3, etc) is placed. Following it, the data store name is placed.
Every data store should have a noun-based name, a number, a description, and one or more input and
output data flows.

How are external entities represented in a data flow diagram?


External entities are represented by large rectangles in a data flow diagram, and their names are based off
of nouns.

What is data flow diagramming?

Data flow diagramming is the technique of diagramming business processes and the data that pass among
them.

What is a logical process model?

A logical process model is a model that describes processes, without worrying about how they are
conducted (in regards to the steps behind the process, if it's manual or computerized, etc).

Why is it that one DFD cannot contain an entirety of a business's processes? How
is this gotten around?

Business processes are far too complex to be explained in any one DFD. This is gotten around by using
decomposition of business processes into multiple DFDs, with lower level DFDs representing a more
granular level of detail.

What is a context diagram?

A context diagram is the very highest level of DFD, and the first DFD in any business process. It is called a
context diagram because it shows the entire system in context with its environment, representing the
overall business process as one process, and showing the data flows in and out of that process to external
entities.

What is a Level 0 DFD?

A level 0 data flow diagram is a high-level DFD that shows all the major high-level processes of a system,
and how they are all interrelated, with each other and with the data stores, data flows, and external entities.
A process model will only have one level 0 DFD.

What is balancing in regards to DFDs?

Balancing, in regards to data flow diagrams, is the act of ensuring that all information presented at one level
of data flow diagram is represented accurately at the next levels of DFD.

What is a level 1 DFD? How is it created?

A level 1 data flow diagram is a subset of the level 0 DFD, decomposed from one of the processes shown
there.
It is worth knowing that the set of children together are identical to their parent DFD. In addition, there are
as many level 1 DFDs as there are processes in the level 0 DFD.

What is a level 2 DFD? How is it created?

A level 2 data flow diagram is a subset of the level 1 DFD, decomposed from one of the processes shown
there.

It is worth knowing that the set of children together are identical to their parent DFD.

What are alternative data flows, and how are they represented in a data flow diagram?

Alternative data flows are a result when a process can produce different data flows in differing
circumstances. They are represented in a DFD by both being shown, with their differences explained in the
process description.

How are data flow diagrams created? What are the steps needed to build a DFD?

Data flow diagrams are created from consulting use cases and requirements definition. The steps are:
1. Build the context diagram.
2. Create DFD fragments from each use case.
3. Organize the DFD fragments in the level 0 DFD
4. Develop level 1 DFDs based on the steps in each use case. Decompose as necessary
5. Validate DFDs.

How is a context diagram created?

A context diagram is a simple thing to create. The system itself is represented by a process symbol, labeled
as "0" and either the process name or system. All inputs and outputs listed on the use cases become data
flows, and all external entities are added in. Data stores are NOT shown.

What is a DFD fragment?

A data flow diagram fragment is one piece of a data flow diagram that will eventually be combined with
other fragments to form a full DFD. Each use case becomes a fragment, using a name, ID number, and its
major inputs and outputs. Major steps aren't used at this point.

How is a level 0 DFD created?

A level 0 DFD is built by combining the data flow diagram fragments together into one diagram. There are
no formal layout rules for a level 0 DFD, save to attempt to prevent crossed lines whenever possible.

How is a level 1 DFD created?


A level 1 DFD is created by decomposing each process/DFD fragment within the level 0 DFD. Each major
step within the corresponding use case becomes a process within the level 1 DFD. Data stores are
included at level 1, and are modeled from the inputs and outputs in the corresponding use case.

What are the rules of thumb for creating a rule of thumb?

Rules of thumb:
There should be at least three and no more than seven processes per DFD. Processes need to be
decomposed until you can provide a detailed description of the process with no more than one page of
description.

What are syntax errors in a data flow diagram?

Syntax errors in a data flow diagram are grammatical errors, things that violate the rules of DFD language.
Things like having a data flow between two entities between a data store and an entity, without having a
process to do it, or having a double-headed data flow.

What is a "black hole" in a DFD?

A black hole in a DFD is a process, entity, or data store. that has no outputs, only inputs.

What are semantics errors in a data flow diagram?

Semantics errors in a data flow diagram are any misunderstandings by the analyst in collecting, analyzing,
and reporting information about the system. Basically, something that is misrepresented.

Chapter 6: Data Modeling

What is a data model?

A data model is a formal way of representing the data that are used and created by a business system, and
how those data are related to one another.

What is an entity-relationship diagram?

An entity-relationship diagram is a graphical illustration that shows the information that is created, stored,
and used by a business system.

What are entities?


Entities are similar kinds of information, also referred to as classes in some cases. It is the most basic
building block of a data model. It can be a person, place, event, or thing, as long as data is being collected
on it.
Entities represent things that have multiple instances/occurrences.

What is an attribute?

An attribute is some type of information that is captured about an entity. Attributes are always nouns that
are listed with an entity. Some attributes are unique, and can be serve as the entity's identifier, or primary
key.

What are identifiers? Concatenated identifiers? Give an example of each.

An identifier is an attribute of an entity that can be used to identify individual instances of that entity. A
concatenated identifier is a set of attributes that, together, are unique and can serve as an identifier.

What are relationships?

A relationship is an association between entities. Each relationship has a parent and a child entity, and
should be labeled with a verb.

What is cardinality? What are the three types of cardinality relationships?

Cardinality is the ratio at which parent instances of an entry exist in proportion to child instances. The three
types of cardinality relationships are:
- 1:1 Relationship
- 1:M Relationship
- M:N Relationship

What is modality?

Modality is a way of describing whether or not a relationship is "optional", or whether or not a child entity
can exist without a related instance of the parent entity.

What is a data dictionary?

A data dictionary is a document or database that contains the metadata on a data, that is, data about the
data. Information on the entities, attributes, and relationships on the ERD.

What are the steps involved in creating an ERD?

The steps to create an ERD are as follows:


1. Identify the entities
2. Add attributes to each entity
3. Draw relationships between each entity
What is an independent entity?

An independent entity is an entity that can exist without other entities to support it. Things like cars, pencils,
customers, all exist without the need for other entities.

What is a dependent entity?

A dependent entity is an entity that requires attributes from other entities to be identifiable. Things like
"movie ticket" cannot exist without there being a "movie".

What is an intersection entity?

An intersection entity is an entity that is created to divide a M:N relationship, allowing for information on
their relationship to be shared.

What is normalization?

Normalization is a technique by which a series of rules are applied to a logical data model (ERD in this
case) to determine how well formed it is.

What is needed for an ERD to be in 1NF?

For an ERD to be in 1NF, no attributes in any entities can contain more than one value for a single
instance. For example, Phone can only contain one phone number, not a work phone AND a cell phone.
In addition, there cannot be any attributes with repeating values. Things like "AUTHOR1", "AUTHOR2", and
so on.

What is needed for an ERD to be in 2NF?

For an ERD to be in 2NF, all non-key attributes must be fully dependent on the entire primary key. This
means that, if there is a composite primary key, all non-key attributes must be dependent on all parts of the
composite key, and not just one.

What is needed for an ERD to be in 3NF?

For an ERD to be in 3NF, it cannot have any transitive functional dependencies. This means that, in a table
with attributes A, B, and C, if B is dependent on A, and C is dependent on B, C is TRANSITIVELY
dependent on A. This is bad.

What does it mean for an ERD to be balanced with the DFDs?


For the DFDs to be balanced with an ERD, the data components (that is, data and stat stores) need to be
in balance. This means that the data stores on the DFD need to correspond with the entities and attributes
in the ERD.

Chapter 7: Moving to Design

What exactly goes on in the design phase?

During the design phase, it is decided HOW the new system will operate, developing system requirements
that will describe, in detail, the new system.

What are used to generate system requirements?

During the design phase, system requirements are modeled after business requirements.

How are system requirements communicated?

System requirements are communicated through the use of design documents and physical models.

What are design documents?

Design documents are documents created as deliverables of the design phase.

What is the final deliverable of the design phase?

The final deliverable of the design phase is the system specification. It contains many documents, physical
process models, physical data models, architecture design, hardware & software specification, interface
design, data storage design, and program design docs.

What are the three primary ways to approach the creation of a new system?

The three main methods of creating a new system are to:


- Develop a custom application in-house
- Buy a pre-made system (off-the-shelf) and possibly customize it
- Rely on an external vendor/developer/service provider to build or provide the system

What goes into custom development?

Custom development, as approached in the design phase, is when a business designs a new system
entirely from scratch.

What are the pros and cons of custom development?


The Pros:
- Custom development is very flexible.
- It allows the use of current technologies.
- It builds technical skills and functional knowledge internally.
The Cons:
- Custom development requires a huge amount of effort & work.
- It requires a considerable amount of skilled workers.
- Highly risky (plenty of opportunities for failure).

What is "packaged software" in terms of system development?

Packaged software is software that has been designed to meet common business needs. Due to it being
pre-made, buying it and installing it can be done cheaply and quickly. It can then be customized (usually) to
meet a more narrow set of needs.

What is the biggest problem with packaged software?

Packaged software's largest problem is it contains "what it says on the tin". That is, the functionality it
provides is all that you are going to get.

What is systems integration?

Systems integration is the process of building a new system by combining packaged software with existing
legacy systems, through the use of new software written to integrate them. The biggest challenge with this
is the "translation" of data between software.

What is outsourcing, in terms of the design phase of the SDLC?

Outsourcing is when an outside vendor/developer/service provider is contracted to create or supply the


system.

What is an application service provider? How does this relate to Software as a


Service?

An application service provider, or ASP, is a firm that supplies software applications and/or services over
the internet. Software as a Service (SaaS) is an extension of the application service provider "model",
where licences aren't purchased for a particular software; instead, contracts over time for the use of
software are purchased.

What are the main risks of outsourcing development?

The main risks of outsourcing development are:


- The loss of confidential information
- Losing control over future development
- Loss/degradation of the skill of in-house professionals.
What are the three types of outsourcing contracts?

The three types of outsourcing contracts are:


- Time & Arrangements: Pay for whatever time and expenses are needed to get the job done.
- Fixed-Price Contract: A price is named, and is paid, the end.
- Value-Added Contract: The outsourcer takes some percentage of the completed system's benefits.

What are the key guidelines for outsourcing?

The key guidelines for outsourcing are:


- Keep the lines of communications open between you and the outsourcer.
- Ensure that requirements are well-defined and stable before signing a contract.
- Treat the outsourcing relationship as a partnership.
- Select your ASP carefully!
- Assign someone to manage the relationship.
- Don't outsource what you don't understand.
- Flexible requirements, long-term relationships, and short-term contracts are gooooood.

How can the business need behind a project direct which development method is
best?

If the business need for the system is common, and the solutions already exist, then packaged software is
the way to go.
If the business need is unique and core to the business, a custom solution is key.
If the business need is unique, but it is not a core part of the company's strategy, outsourcing is
appropriate.
How can in-house experience direct which development method is the best?

If in-house technical experience exists and can handle all the functional and technical needs of the new
system, then go for a custom solution. Otherwise, go for packaged or outsourced.

What are the two divisions of project skills?

Project skills can come in two forms:


- Technical (SQL, etc)
- Functional (e-commerce)

How does time impact which development method is best-suited for a new
system?
If time is a factor, a pre-packaged solution is generally going to be best. If that isn't available, timeboxing is
a great way to ensure the system is moving ahead swiftly. Outsourcing is generally not a good option with a
short time frame.

What is a Request for Proposal? Request for Information? Request for Quote?

A Request for Proposal (RFP) is a formal document that requests a proposal from a potential
vendor/developer/service provider. They describe in detail the system/service needed. A shorter and less
detailed is the Request for Information. If we know all the equipment we need, then a Request for Quote
may be used.

What is an alternative matrix?

An alternative matrix is a document that combines several feasibility analyses into one matrix, taking into
account technical, economic, and organizational feasibilities for each system candidate, pros and cons, and
so forth.

How is an alternative matrix set up?

An alternative matrix is set up as a grid with alternatives across the top, and criteria along the sides,
occasionally with weights and scores (for a weighted alternative matrix).

You might also like