se463 software*requirements*specification*&analysisjmatlee/teaching/se463/... ·...

14
Copyright © Atlee, Berry, Day, Godfrey 19952017 U Waterloo SE463 (Spring 2017) SE463 Software 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

Upload: others

Post on 18-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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

Page 2: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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

Page 3: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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

Page 4: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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

Page 5: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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

Page 6: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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/

Page 7: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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)

Page 8: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

Copyright © Atlee, Berry, Day, Godfrey 1995-­2017 U Waterloo SE463 (Spring 2017)

Sketching vs. Low-­Fid Wireframing

Page 9: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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

Page 10: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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

Page 11: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

Copyright © Atlee, Berry, Day, Godfrey 1995-­2017 U Waterloo SE463 (Spring 2017)

Crazy 8’s

Page 12: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

Copyright © Atlee, Berry, Day, Godfrey 1995-­2017 U Waterloo SE463 (Spring 2017)

Sketchboard

User Flow, Storyboard

Alternatives

Page 13: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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

Page 14: SE463 Software*Requirements*Specification*&Analysisjmatlee/Teaching/SE463/... · Copyright*©*Atlee,*Berry,*Day,*Godfrey*199592017 UWaterloo*SE463*(Spring*2017)*** JavaScript Unit

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