Usecases 20181125
Usecases 20181125
●
receive a call
internal ●
store a new contact
features ●
send a message
src: https://www.researchgate.net/publication/272565002_Scenario_planning_for_innovation_development_an_
overview_of_different_innovation_domains/figures?lo=1
Use case
description
example
src: https://www.researchgate.net/publication/272565002_Scenario_planning_for_innovation_development_an_
overview_of_different_innovation_domains/figures?lo=1
Who needs Teams benefitting from usecases:
the analysis team
usecases?
●
●
the design team
●
the testing team
Who needs usecases?
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Who needs usecases?
the analysis team: Writing and revising use cases produces clarity,
consensus, and commitment. Remarkably, it is
common agreement
common for stakeholders to be uncertain about how a
about system
process they own actually works! Writing a use case
requirements
helps stakeholders align the narrative with the details
of an existing process.
Remarkably, use cases often help stakeholders reach
common agreement on "best practice" processes as well.
In a facilitated group setting, divergent perspectives
are welcomed, understood, and appreciated.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Who needs usecases?
the analysis team: Start a use case by developing the Main Course of
Events. As the group develops a coherent and ordered
reveal process
set of process steps, team members tend to volunteer
alternatives and
statements that begin with the words "what about..." -
process exceptions
a clue to previously unidentified Alternative Paths to a
successful outcome. The Exception Paths often arise
in a similar way. More of these become obvious when
the team considers what happens if any step in the
Main Course fails.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Who needs usecases?
the analysis team: Listen for any jargon used by stakeholders and ask for
a definition for each one. Add these definitions into
reveal undefined terms
the project glossary. Also, listen for issues as they
arise. Is a process step fuzzy? Is there an area that
needs more research, or an item on which team
members disagree? Write these down as well and
later include them in a project issue log.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Who needs usecases?
the analysis team: Create a catalog of the use case titles, and arrange
them into some meaningful order (e.g., by sub-system
what belongs outside
or umbrella process). With this catalog, the analysis
project scope?
team can prioritize the use cases. They may decide that
some fall outside the project scope, or that some are
not needed in the first project phase. Either way, you
have given the stakeholders an opportunity to declare
which functions they need the most, or which ones
they need first.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Who needs usecases?
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Who needs usecases?
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Who needs usecases?
the design team: A development team can find patterns within a set of
use cases. Developers may transform these patterns
recognize patterns and
into universal software objects.
contexts in functional
requirements As another aid to developers, use cases also reveal
operational context. The Stakeholders Goals, Pre-
Conditions, Assumptions, and Post-Conditions give
developers a sense of how the software will be used.
By reading these sections, the developer understands
what the role identified in the use case is trying to
accomplish, and what motivates him or her.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Who needs usecases?
the design team: Although the analysis team may have prioritized the
use cases, the development team views them from a
prioritize work
far different perspective. As a good development
teams writes code, they search for coding efficiencies.
While the analysis team may want 12 use cases
completed in phase one, the development team may
see cost-savings in delivering phase one software for
8 use cases, plus two more from phase two that are
cheaper to build as part of phase one. Of course, the
analysis team and the development should jointly
consider the effect of this change.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Who needs usecases?
the testing team: Some projects lack an adequate design phase and
produce poor functional requirements. Code that’s
discover gaps between
written based on such requirements may lead to
the requirements and
missing critical features. Writing usecases even in a
the delivered software
late project stage is highly recommended.
By comparing delivered software to the usecases,
such gaps can be identified and closed rapidly.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Who needs usecases?
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-indispensable-to-your-software-development-project/
Content and Context
structure Actor / role
Structure
Content
Context use case =
a way of using a system
a scenario that describes an interaction between the
system and its users
●
it captures some user visible function
●
functions may be a large or small; it depends
on the level of detail in your modeling effort
●
a use-case achieves a discrete goal for the
user, like format a document or request an
elevator
Context
user goal:
something the user wants to
achieve
example: format a document
user interaction:
something the user does to
the system to achieve the goal
examples: define a style,
change a style, copy a style to
other document
Actors and Actors are external entities that interact
with the system. It can be a person, another
roles system or an organization.
http://www.modernanalyst.com/ http://creately.com/blog/diagrams/use-case-diagram-guidelines/
Actors and roles
http://creately.com/blog/diagrams/use-case-diagram-guidelines/
Actors and roles
http://creately.com/blog/diagrams/use-case-diagram-guidelines/
Actors and roles
http://creately.com/blog/diagrams/use-case-diagram-guidelines/
Actors for our project
http://slideplayer.com/slide/4532464/
Usecase
content
http://slideplayer.com/slide/4532464/
Usecase content
https://creately.com/diagram-community/popular/t/use-case
Building the 1: Identify system actors
http://www.cems.uwe.ac.uk/~jsa/UMLJavaShortCourse09/CGOutput/Unit1/unit1(080
9)/page_24.htm
2: Identify the Usecases describe the functionality required of the
system in order for actors to achieve their goals.
goals of the Therefore you need to identify what the goals of your
candidate actors are.
actors
Multiple actors may require the same or similar system
functionality.
http://www.cems.uwe.ac.uk/~jsa/UMLJavaShortCourse09/CGOutput/Unit1/unit1(080
9)/page_24.htm
3: Identify the A usecase represents a substantial piece of system
functionality, not just a single method in software.
candidate Usecases cover a group of related scenarios, for
example, a usecase called "purchase ticket" will include
usecases the scenario where payment is unsuccessful in addition
to the typical payment success scenario.
Using the actors goals try and identify the text in the
requirements document that corresponds to these
goals.
http://www.cems.uwe.ac.uk/~jsa/UMLJavaShortCourse09/CGOutput/Unit1/unit1(080
9)/page_24.htm
4: Identify the Look for an actor and an initial event. You will find this is
easier to do with some usecases rather than others. For
start point for example, with some "Delete" usecase, the initial event
may be to choose some item.
each usecase
http://www.cems.uwe.ac.uk/~jsa/UMLJavaShortCourse09/CGOutput/Unit1/unit1(080
9)/page_24.htm
5: Identify the In a manner similar to that of step 2 (identifying goals of
the actors), you need to identify the beneficial result of
end point for the usecase, the end point. The purpose of this step is
to allow you to refine the size of usecases, ensuring that
each usecase a candidate usecase is neither too small nor too big.
http://www.cems.uwe.ac.uk/~jsa/UMLJavaShortCourse09/CGOutput/Unit1/unit1(080
9)/page_24.htm
6: Refine and All of the functionality described in the requirements
document needs to be covered by at least one
scope units of candidate use case. You need therefore to work through
the list of candidate usecases to refine size and scope.
interaction
Ater completing this step you don’t necessarily get the
final list of actors and usecases!
http://www.cems.uwe.ac.uk/~jsa/UMLJavaShortCourse09/CGOutput/Unit1/unit1(080
9)/page_24.htm
Our project’s usecase diagram
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-
indispensable-to-your-software-development-project/
Grain of use cases – what is the right size for a use
Usecase case? A usecase must contain a complete task that
needs solving – not just a step in a task.
grain
Feel your way forward – it takes experience.
The aggregate use cases do not need to reflect a
workflow! If you do that, the use cases may well be too
fine-grained.
Use imperative verbs to name a usecase! Examples:
”Acquire car” – ”Search for car” – ”Get FDM test” – etc.
A good idea to attach numbers to the use cases, rather
than “meaningful” Ids.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-
indispensable-to-your-software-development-project/
Be business Know your business & be business oriented! The
professional experts must participate in the completion
oriented! of use cases.
Keep matters abstract! Describe functionality, not
solution designs! Keep use case descriptions free from
”computer monitor-thinking”.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-
indispensable-to-your-software-development-project/
Innovate! Innovate! It is important that project participants are
visionary and do not ”re-create” existing solutions.
Delegating the task of usecase writing: You may want a
resource able to coordinate business and technical
aspects, who has an idea of how a use case can be
technically realised, and who can discuss issues with the
technical staff.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-
indispensable-to-your-software-development-project/
Review your After completion of usecases (or during) a need will
often rise to adjust the process diagrams. You gain
process knowledge as you dig deeper into the material.
diagrams! The activities (and their order) may need adjustment.
You typically discover new actors/roles and new
interfaces with other systems / stakeholders.
You may need to add new terms to the data dictionary,
and probably correct the use case descriptions to
ensure strict use of these terms.
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-
indispensable-to-your-software-development-project/
Don’t over- Try not to get in an "analysis paralysis" cycle trying to
document every little use case, instead of moving
document! forwards.
Avoid the situation in which use cases become the
focus of attention, instead of the functionality itself
("no, I want them to click on the 'OK' button, not the
'Finish' button!").
https://www.techrepublic.com/blog/software-engineer/10-reasons-why-use-cases-are-
indispensable-to-your-software-development-project/
Wireframing Wireframes
Mockups
Who uses wireframes?
How to wireframe?
Wireframes A wireframe (page schematic, screen blueprint) is a
visual guide that represents the skeletal framework of
an application screen or a website.
Wireframes are created for the purpose of arranging
elements to best accomplish a particular purpose.
Wireframes
Wireframes
https://www.experienceux.co.uk/faqs/what-is-wireframing/
Wireframes
https://www.experienceux.co.uk/faqs/what-is-wireframing/
Wireframes
https://www.experienceux.co.uk/faqs/what-is-wireframing/
Wireframes
https://www.experienceux.co.uk/faqs/what-is-wireframing/
Mockups A mockup is a static high-profile visual design draft of a
design or device, used to represent the structure of
information, visualize the content and demonstrate the
basic functionalities in a static way.
Mockups
https://mockupui.com/examples/index.html
Mockups
http://spacerchaser.com/prototype-website-template/prototype-website-template-design-
interactive-html-prototypes-for-web-and-apps-with-axure-rp-ideas/
Mockups
Why use mockups: Mockups can help the designer to uncover visual
Organize project elements that clash, before you arrive at the final
details design. Visual hierarchies, that shows the difference
between design elements such as font and color,
should be determined at the mockup phase of the
design process. With the visual elements more refined
than with wireframes, mockups allow stakeholders to
actually review the visual side of the project.
https://www.justinmind.com/blog/wireframes-and-mockups-whats-the-best-option/
Mockups
Why use mockups: Mockups are flexible and this makes it easy to iterate.
Find errors early on Much like working with a wireframe, mockups allow
for easy and quick revisions that can stack up pretty
quickly, as they do not require code or programming.
https://www.justinmind.com/blog/wireframes-and-mockups-whats-the-best-option/
Mockups
https://www.justinmind.com/blog/wireframes-and-mockups-whats-the-best-option/
Mockups
Why use mockups: Not only can the mockup serve as a discussion
Communicate ideas medium between the designer and user or
between team stakeholder, it can also act as a communication device
members between the members of the design teams. Mock-ups
may help facilitate work across disciplinary borders,
bringing together teams who are working on different
objectives.
https://www.justinmind.com/blog/wireframes-and-mockups-whats-the-best-option/
Mockups
Why use mockups: How does your initial design flow and perform? By
Design looking at a mockup, you should have a good idea of
implementation how the final product will look and a rough idea of
how it might function (even if the functionality isn’t
yet in place).
https://www.justinmind.com/blog/wireframes-and-mockups-whats-the-best-option/
Mockups
Why use mockups: Paper and low-fidelity mock-ups get a lot of stick
The user’s perspective from users because they are low-cost. But if a user is
presented with an early version of a system – a mid-
fidelity digital UI mockup – that required substantial
work, they may be more inclined to focus on the value
of the design.
https://www.justinmind.com/blog/wireframes-and-mockups-whats-the-best-option/
Mockups
Why shouldn’t you use Mockups require substantial time and resources to
mockups? create something that will then need to be pulled
apart and put back together during development.
https://www.justinmind.com/blog/wireframes-and-mockups-whats-the-best-option/
Mockups
https://www.justinmind.com/blog/wireframes-and-mockups-whats-the-best-option/
Who uses The purpose of any particular wireframe varies slightly
by the people creating or using them in any company.
wireframes? Whether sketched, “grey boxed”, wireframed in a
graphic editor or in a dedicated wireframing and
prototyping tool, the same information can be
conveyed. Therefore, it’s less about the tool and more
about how fast you can convey the information you
need to others.
src: https://www.uxpin.com/studio/ebooks/guide-to-wireframing/
Who uses wireframes?
src: https://www.uxpin.com/studio/ebooks/guide-to-wireframing/
Who uses wireframes?
src: https://www.uxpin.com/studio/ebooks/guide-to-wireframing/
Who uses wireframes?
src: https://www.uxpin.com/studio/ebooks/guide-to-wireframing/
Who uses wireframes?
src: https://www.uxpin.com/studio/ebooks/guide-to-wireframing/
Who uses wireframes?
src: https://www.uxpin.com/studio/ebooks/guide-to-wireframing/
Who uses wireframes?
src: https://www.uxpin.com/studio/ebooks/guide-to-wireframing/
How to At the wireframing phase of the design process, our
ideas are young and unpolished. Wireframes, whether
wireframe? created on scraps of paper, a whiteboard, or in a
software program, serve to establish relationships
between elements in a project such as: navigation,
imagery, and calls to action.
But if we think of wireframing as a tool, it’s ultimate
purpose is to create an ideal space for collaborative
conversations about design solutions, while supporting
iterations and driving rapid ideation.
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-10-best-practices
How to wireframe?
Don’t use color. If you Color is powerful! As such, it can be distracting. If you
do, use it intentionally. must use color, use it sparingly and consistently and
choose a color not in the clients’ pallette to ensure
your discussion remains focused on the experience
you are creating and not the visual design solutions to
come.
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-
10-best-practices
How to wireframe?
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-
10-best-practices
How to wireframe?
Use actual content. If you don’t have content, write it. Writing is a design
skill, it will only help you understand the client and
story better.
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-
10-best-practices
How to wireframe?
Never wire alone. All we’re talking about here is sharing your ideas.
When we release ideas, their potential for greatness
doubles. Often times, you’re not the expert, so get
over your ego and be great together.
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-
10-best-practices
How to wireframe?
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-
10-best-practices
How to wireframe?
Set clear expectations. Talk with the client about how you are using
wireframing as a tool. If a client’s expectations are not
met, it doesn’t matter how brilliant your work is, they
will not hear you. The best way to proactively avoid
failed expectations is to communicate them clearly,
early, and often.
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-
10-best-practices
How to wireframe?
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-
10-best-practices
How to wireframe?
Practice non- Don’t get too attached to your wires, they’re not
attachment. glamorous portfolio pieces. With rapid ideation, we
must be willing to entertain change and pivot often.
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-
10-best-practices
How to wireframe?
Be selective and keep When we have lots of new ideas, it’s easy to try and
it simple. make them all work together or confuse elements of
one idea with another. Give each idea their own
platform.
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-
10-best-practices
How to wireframe?
src: https://www.dtelepathy.com/blog/design/learning-to-wireframe-
10-best-practices