copyright © 2012-2014 by mark j. sebern software engineering process i dr. rob hasker l-331, email:...
TRANSCRIPT
![Page 1: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, email: hasker (Adapted](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062712/56649c915503460f9494c3ab/html5/thumbnails/21.jpg)
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