Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email:...

21
Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker https://faculty-web.msoe.edu//hasker/ (Adapted from notes by Dr. Sebern, used with permission.)

Transcript of Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email:...

Page 1: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Software Engineering

Process IDr. Rob Hasker

L-331, email: haskerhttps://faculty-web.msoe.edu//hasker/

(Adapted from notes by Dr. Sebern, used with permission.)

Page 2: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Logistics

• Course web site, syllabus

• Book, schedule, policies, grading

• Prereq check: CS 2852, SE 2030

• Roster

Page 3: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Grading (1)Letter

Numeric(academic catalog)

% of passing grades *

A 93-100 8/31 = 25.8%

AB 89-92 4/31 = 12.9%

B 85-88 4/31 = 12.9%

BC 84-81 4/31 = 12.9%

C 77-80 4/31 = 12.9%

CD 74-76 3/31 = 9.7%

D 70-73 4/31 = 12.9%

* Assumes uniform, linear distribution

Page 4: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Grading (2)Letter Definition (VP of Academics, sent each quarter)

A Student has performed outstandingly in all regards and is clearly exceptional.

AB Student has performed with excellence.

B Student has shown very high command of course content.

BC Student has done a commendable job dealing with course content.

C Student has an adequate grasp of course content.

CD Student has met fair expectations.

D Student has attained minimal expectations in the course.

F Student has not attained minimal expectations in the course.

Page 5: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Grading (2)Letter Definition (VP of Academics, sent each quarter)

A Student has performed outstandingly in all regards and is clearly exceptional.

AB Student has performed with excellence.

B Student has shown very high command of course content.

BC Student has done a commendable job dealing with course content.

C Student has an adequate grasp of course content.

CD Student has met fair expectations.

D Student has attained minimal expectations in the course.

F Student has not attained minimal expectations in the course.

So, what grade is appropriate for "no errors" work?

Page 6: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Grading (3)• What's a professor to do?

• Conflicting messages from MSOE

• Which is closer to employee evaluation?

• Is this the choice?

• Make students happier now

• Make graduates happier later

• Duty: preparation for lifelong career

Page 7: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

How to Get an "A"• Be "outstanding"

and "exceptional"?

• What does that mean?

• Go a little beyond the requirements

• Demonstrate learning and thinking

• Talk to the prof

Page 8: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

SE 2832Verification

Curriculum Context

CS 2852Data

StructuresSE 2030

Tools/Practices

SE 2800SE Process I

SE 3800SE Process II

SE 3821Requirements

SoftwareDevelopment

Lab

Page 9: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Process?

• How should we plan and execute a project of moderate size (small team)?

• How would you do it?

• What was the process you used in SE 1011/SE 1021/CS 2852?

• What was good or bad about it?

Pair exercise

Page 10: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Practice vs Process• Practice = “what we do”

• Analyze requirements, create architectural/detailed designs, implement, verify

• Process = “how & when we do it”

• Plan, organize, measure, make/meet commitments, ensure quality, control, improve, adapt

Page 11: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Activities• Planning & tracking

• Requirements analysis & specification

• Architecture & high-level design (HLD)

• HLD review

• Detailed design

There are many different ways to break down software development activities; this is just one

way of doing it.

• Detailed design review

• Implementation (coding)

• Code review/inspection

• Unit testing

• Integration testing

• System testing

Page 12: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Traditional Model• Requirements: talking to

customer• Design: How to impl. Reqs• Implementation: coding• Verfication: testing• Maintenance

• Covers all necessary products

• Similar process to other engineering disciplines

Page 13: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Traditional Model• Requirements: talking to

customer• Design: How to impl. Reqs• Implementation: coding• Verfication: testing• Maintenance

• Covers all necessary products

• Similar process to other engineering disciplines

Known as waterfall model:• Water gently flowing down

hill towards a goal…• But what happens if

discover a problem?• Is this really more like

Niagara Falls?

Page 14: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Process Models• Process models provide

frameworks for organizing software development activities

• One pass, sequential (“waterfall”)

• Iterative/incremental

• “Agile”: XP, Scrum

• SEI: PSP/TSP

In SE-2800, we will use a

process model based on Scrum

Page 15: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Process GoalsOverwhelmingly, software development managers and stakeholders ask us for

two things:

Page 16: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Comparing Iterative Models

Waterfall model/ Predictive Process Scrum

Planning model

Heavy focus on process data,

tracking

Team experience, integrated customer

Quality manageme

nt

Tests written byexternal agent

Short cycles to provide

monitoringFinal

product definition

Schedule target, defined

Flexible, adaptive

Page 17: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Course Goal

• Experience with one approach to software process

• Why Scrum?

• Gaining acceptance in industry

• Easier introduction: fewer process artifacts, learn as you go

Page 18: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Textbook• Essential Scrum

• A Practical Guide to the Most Popular Agile Process, Kenneth S. Rubin

• Good reference on process framework – not a real textbook

• Needs supplement on practices

Page 19: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Tools• Atlassian

• JIRA/Agile (plan/track)

• Confluence (wiki)

• Bitbucket

• Git repository

• JUnit

• Test automation

• Jenkins

• Continuous build

Page 20: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Next Lecture

• Next session: cover chapter 2

• Lab this week will also be used to cover textbook material

• Note will use lecture time at end of quarter for project work

• Quiz at start of session on Ch. 2!

Page 21: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker  (Adapted.

Copyright © 2012-2014 by Mark J. Sebern

Review• SE 2800: Software Process I

• Introduction to software process• Practice vs. process

• Practices: what needs to be done• Process: how & when

• Process models• Sequential vs. iterative• Predictive vs. agile

• Scrum: Read Ch. 2