Software Engineering I cs361 Announcements Office hours canceled - - PowerPoint PPT Presentation

software engineering i cs361
SMART_READER_LITE
LIVE PREVIEW

Software Engineering I cs361 Announcements Office hours canceled - - PowerPoint PPT Presentation

Software Engineering I cs361 Announcements Office hours canceled on Tuesday Jan 19th Shanes Tue Office Hours moved to Thurs 11:30-12:30 How to show you are using TDD Sources for Writing Assignment Question for Ciera Japan


slide-1
SLIDE 1

Software Engineering I cs361

slide-2
SLIDE 2

Announcements

  • Office hours canceled on Tuesday

Jan 19th

  • Shane’s Tue Office Hours moved to

Thurs 11:30-12:30

  • How to show you are using TDD
  • Sources for Writing Assignment
  • Question for Ciera Japan Due on

Piazza by by 7pm, Monday Jan 18th.

slide-3
SLIDE 3

User Stories

slide-4
SLIDE 4

User Stories

✖ The Card ✖ The Conversation ✖ The Confirmation

slide-5
SLIDE 5

The Card

“As a [role], I want [function], so that [value]” Often written on 3x5 card Examples:

slide-6
SLIDE 6

The Conversation

An open dialog between everyone working on the project and the client Split up Epic Stories if Needed

slide-7
SLIDE 7

The Confirmation

A test that will show when task is completed Could be automated, or a script

slide-8
SLIDE 8

Write user Stories

slide-9
SLIDE 9

INVEST

I - Independent N - Negotiable V - Valuable E - Estimable S - Small T - Testable

Source: Bill Wake http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/

slide-10
SLIDE 10

Independent

✖ Schedule in any order. ✖ Not overlapping in concept ✖ Not always possible

slide-11
SLIDE 11

Negotiable

✖ Details to be negotiated during development ✖ Good Story captures the Essence, not the details

slide-12
SLIDE 12

Valuable

✖ This story needs to have value to someone (hopefully the customer) ✖ Especially relevant to splitting up issues

slide-13
SLIDE 13

Estimable

✖ Helps keep the size small ✖ Ensure we negotiated correctly ✖ “Plans are nothing, Planning is everything” -Dwight D. Eisenhower

slide-14
SLIDE 14

Small

✖ Fit on 3x5 card ✖ at most two person-weeks of work ✖ Too big == unable to estimate

slide-15
SLIDE 15

Testable

✖ Ensures Understanding of Task ✖ We know when we can mark task “Done” ✖ Unable to test == do not understand

slide-16
SLIDE 16

INVEST user stories

slide-17
SLIDE 17

Agile vs Waterfall

slide-18
SLIDE 18

Waterfall Software Development Model

Requirements Design Implementation Verification Maintenance

slide-19
SLIDE 19

Agile Software Development Model

Img Src: http://www.strategybeach.com/our-agile-development-methodology/

Agile Manifesto

slide-20
SLIDE 20

Agile Software Development Model

Img Src: http://www.strategybeach.com/our-agile-development-methodology/

slide-21
SLIDE 21

patterns

slide-22
SLIDE 22

Patterns

✖ A general, reusable solution to a commonly occurring problem in a given context ✖ Often have best practices associated with them

slide-23
SLIDE 23

Patterns

Architectural Patterns Fundamental structural

  • rganization for software

systems. Design Patterns Solves reoccurring problems in software construction

slide-24
SLIDE 24

architectural patterns

slide-25
SLIDE 25

Architectural Patterns

✖ MVC ✖ Event-Driven Architecture ✖ Layers ✖ Microservices ✖ Peer-to-Peer ✖ Pipe and Filter ✖ Service-Oriented architecture ✖ Blackboard

slide-26
SLIDE 26

MVC

Controller

View

Model

User

slide-27
SLIDE 27

Common MVC Frameworks

✖ Ruby on Rails ✖ Spring Framework for Java ✖ Django for Python ✖ Elm (Functional Reactive Programming Lang) ✖ Google Web Toolkit for Java ✖ AngularJS for Javascript ✖ CodeIgniter for php ✖ CakePHP ✖ Zend Framework for PHP ✖ Play for Scala ✖ Ninja Framework for Java

slide-28
SLIDE 28

Model

✖Contains the Business logic. (application logic and structure) ✖Maintains the application specific data

slide-29
SLIDE 29

View

✖ Renders the model ✖ Allows interaction with the user ✖ Passes input to the controller

slide-30
SLIDE 30

Controller

✖ Receives input ✖ Makes appropriate calls to the model ✖ Updates the view

slide-31
SLIDE 31

MVC Demo

slide-32
SLIDE 32

Credits

Special thanks to all the people who made and released these awesome resources for free: ✖ Presentation template by SlidesCarnival ✖ Photographs by Unsplash