Writing good user stories
User Story Format
PART 1: The Role-Goal-Benet
PART 2: Notes
what behaviour or property of the system indicates you have
met the requirement? How would you test it?
PART 4: Tasks
Any limitations or clarications for the story.
(OO) Design Patterns
What theyre all about
& revisiting Observer and Composite
What is a design pattern?
A tried and true solution, to a
commonly encountered problem
Think about what it feels like to solve
a problem for the very rst time.
You need to thin
the extreme basics.
User Interfaces are important(!?)
Apple versus PC whats the difference?
Apple maps versus Google maps whats the difference?
GWT versus Rails/Flask/Django whats the difference?
Java.util classes versus the ones you
CPSC310 Software Engineering
Why do software projects fail?
Unrealistic project goals
Inaccurate estimates of needed resources
so many reasons!
When things go wrong
Denver Baggage (mis)
Decomposing User Stories
Lets consider a problem from the sample midterm
You are creating a user interface that will
display the contents of the lesystem. The
lesystem contains folders and les, and
each folder may contain other folders or
les. When a chan
Welcome to CS310
2015 Summer Term 1
Instructor: Elisa Baniassad ([email protected], room 329)
Thanks so much to Meghan Allen, Eric Wohlstadter, Gail Murphy,
and a lot of other people for the slides/course design/etc!
My name is Elisa Ba
Allowing design to emerge!
What is a Code Smell?
What do you do in response to a code smell? Refactor!
What is a refactoring?
When to do it when not to do it
Good refactoring process
Eliminate Effects Between Unrelated Things
design components that are:
and have a single, well-dened purpose
Software Design Modularity
The goal of all software design techniq
CPSC 310 Software Engineering
Design: UML Review
Short review assuming background from CPSC 210
Code Complete Chapter 5 (available on line)
This reading will be referred to for the rest of the semester.
It will b
Elicitation, Analysis, Specication and Validation
By the end of this unit, you will be able to:
Explain why its important to elicit and specify requirements well
Specify or critique a set of requirements (e.g., user st
# CPSC 310 Starter
This is a starter for CPSC310. Using it will help you get started with many of
the tools we will use this term. While this is a great resource for getting your
tools and environment setup on your computer, you will need to start again