se463 software*requirements*specification*&analysisjmatlee/teaching/se463/... ·...
TRANSCRIPT
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
SE463Software Requirements Specification & Analysis
Prototyping
Readings:Karl E Wiegers and Joy Beatty. Software Requirements, 3ed. Microsoft Press, 2013.Chapter 15: “Risk reduction through prototyping”
Knapp, Zeratsky, Kowitz. Sprint: How to Solve Problems and Test New Ideas in Just Five Days, Simon & Schuster, 2016
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
Prototyping“A software prototype is a partial implementation constructed primarily to enable customers, users, or developers to learn more about a problem or its solution.”
Alan Davis
• Presentation Prototypes• used for proof of concept;; explaining design features;; etc.• explain, demonstrate and inform – then throw away
Copyright © Steve Easterbrook
• Evolutionary (e.g. “operational prototypes”, “pilot systems”):• development seen as continuous process of adapting the system• “prototype” is an early deliverable, to be continually improved.
• Exploratory Prototypes• used to determine problems, elicit needs, clarify goals, compare design options• informal, unstructured and thrown away.
• Breadboards or Experimental Prototypes• explore technical feasibility;; test suitability of a technology• typically no user/customer involvement
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
Throwaway PrototypingThrowaway PrototypingPurpose:• learn more about the problem• discard after desired knowledge is gained
Copyright © Steve Easterbrook
Evolutionary PrototypingPurpose:• learn more about the solution• reduce risk by building parts early
Approach:• horizontal -‐ build only one layer (e.g. UI)• “quick and dirty”
Use:• early or late
Advantages:• learning medium for better convergence• early feedback → less cost• successful even if it fails!
Disadvantages:• often replaces proper documentation of the specification• may set customers’ expectations too high• can get developed into final product
Use:• incremental; evolutionary
Approach:• vertical – partial implementation of all layers• designed to be extended and adapted
Advantages:• requirements are not frozen• return to last version if problem encountered
Disadvantages:• early architectural choice may be poor• can end up with complex, unstructured system that is difficult to maintain• optimal solutions not guaranteed• lacks control and direction
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
SPRINT kickoff slideshttps://www.slideshare.net/bikolabs/sprint-kickoff-slides-sesin-de-sprint-week
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
Sketching, Wireframing, Prototypes
http://murdochcarpenter.com/portfolio/wireframes/
Prototype as a façade of a solution, used to bait stakeholders into providing new requirements details
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
SketchesSketches of the UI focus on content: the scope of what to include on a screen, and how to lay it out.
http://murdochcarpenter.com/portfolio/wireframes/
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
WireframingA wireframe is a visual representation or mock-up of a user interface, using only simple shapes
• focuses on content, information hierarchy and flow
• defers details about presentation (colour, fonts, images)
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
Sketching vs. Low-Fid Wireframing
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
F-Layout Design
The heatmap shows where users tend to focus their gaze, reading left to right, and top to bottom (but less to the right the lower they gaze)
http://webdesign.tutsplus.com/articles/understanding-the-f-layout-in-web-design--webdesign-687
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
JavaScript Unit Testing ForBeginnersJake Rocheleau • Coding • July 1, 2016
Developers should love the security of unit tests. Nobody loves
writing unit tests, but the peace of mind they bring can easily be
worth the extra work. Unit tests check blocks of code to ensure that
they all run as expected. This is very common for traditional
software development and now very common in web development
too. But how exactly does JavaScript fit into the unit...
Read More
How to Create a PerfectColor Scheme[Infographic]Diana Valeanu • Design • June 29, 2016
Show more
Show more
Our Products
Slides
$249
Qards
$99
StartupFramework
$249
Flat UI Pro
$39
Designmodo Market
Barni E-shop
$48
WEBSITE FRAMEWORK
WORDPRESS PLUGIN
DESIGN FRAMEWORK
DESIGN FRAMEWORK
UI KIT
Nothing can make a project stand out or identify your brand or
business like color. Just think: What would the “Golden Arches” of
McDonald’s be without the signature red and gold? When it comes
to creating the perfect color scheme, there are plenty of things to
consider. Established branding is important and should be honored
if colors already exist. But if not, the...
Read More
20 Great Examples ofWebsite GamificationNataly Birch • Websites Examples • June 27, 2016
Modern web technologies open up new horizons for the creatives.
If you still mourn the death of Flash, then you are likely to miss
unique and ample opportunities provided by WebGL, HTML5 and
other advanced libraries and languages. The time has come to
leave past in the past and embrace cutting-edge solutions that
bring to life outstanding projects full of dynamics and...
Read More
Principles of ChatbotsDesignCarrie Cousins • Design • June 23, 2016
Are chatbots in the future of website design? These little bits of
Noon UI Kit
$29
UI PresentationKit
$29
Fancy Items
$38
Barni-for-MediaUI Kit
$38
Newsletter
Get our products/news earlier than others, let’s
get in touch.
Enter your email address
UI KIT
MOCKUPS
MOCKUPS
UI KIT
Subscribe
Sponsors
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
Crazy 8’s
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
Sketchboard
User Flow, Storyboard
Alternatives
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
Summary• Sprint prototypes enable fast learning about some aspect of a proposed solution
• Prototypes generally used to elicit requirements in the form of feedback on the value of proposed solutions.
• Sketching enables rapid generation of alternative UI designs• Lots of ideas to work from• Multiple iterations and refinements• Active input from all stakeholders
Copyright © Atlee, Berry, Day, Godfrey 1995-2017 U Waterloo SE463 (Spring 2017)
Deliverable #5Wednesday, June 13 at noon
• (40%) Elicited RequirementsUsing a variety of elicitation techniques, especially those that lead to innovative requirements, identify at least 2+ new innovative features or use cases for your project.• Generating ideas should involve concrete stakeholders outside of your team• Evaluating the business value of the new ideas should involve the project’s customer or champion stakeholder
• (40%) Annotated Screen Sketches• 2N sketches of screens (or pages, or user interfaces)• Annotations explaining GUI widgets on the screens• Stakeholder feedback on the screens
• (20%) Screen Alternatives• For 2 screens, sketch 6 alternative layouts• Team feedback (positive and negative) on the screens