Software Engineering Process I

advertisement
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.)
Copyright © 2012-2014 by Mark J. Sebern
Logistics
• Course web site, syllabus
• Book, schedule, policies, grading
• Prereq check: CS 2852, SE 2030
• Roster
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
Copyright © 2012-2014 by Mark J. Sebern
Grading (2)
Letter
A
AB
B
BC
C
CD
Definition (VP of Academics, sent each quarter)
Student has performed outstandingly in all regards and is clearly
exceptional.
Student has performed with excellence.
Student has shown very high command of course content.
Student has done a commendable job dealing with course content.
Student has an adequate grasp of course content.
Student has met fair expectations.
D
Student has attained minimal expectations in the course.
F
Student has not attained minimal expectations in the course.
Copyright © 2012-2014 by Mark J. Sebern
Grading (2)
Letter
A
AB
B
BC
C
CD
Definition (VP of Academics, sent each quarter)
Student has performed outstandingly in all regards and is clearly
exceptional.
Student has performed with excellence.
Student has shown very high command of course content.
Student has done a commendable job dealing with course content.
Student has an adequate grasp of course content.
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?
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
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
Copyright © 2012-2014 by Mark J. Sebern
Curriculum Context
SE 2832
Verification
CS 2852
Data Structures
SE 2030
Tools/Practices
SE 2800
SE Process I
SE 3821
Requirements
SE 3800
SE Process II
Software
Development Lab
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? Pair exercise
• What was the process you used in
SE 1011/SE 1021/CS 2852?
• What was good or bad about it?
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
Copyright © 2012-2014 by Mark J. Sebern
Activities
•
•
•
•
•
Planning & tracking
Requirements analysis &
specification
Architecture & high-level
design (HLD)
HLD review
Detailed design
•
•
•
•
•
•
Detailed design review
Implementation (coding)
Code review/inspection
Unit testing
Integration testing
System testing
There are many different ways to break down software
development activities; this is just one way of doing it.
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
Copyright © 2012-2014 by Mark J. Sebern
Traditional Model
• Requirements: talking to
customer
• Design: How to impl. Reqs
• Implementation: coding
• Verfication: testing
• Maintenance
Known as waterfall model:
Covers
all necessary
• • Water
gently
flowing down hill
products
towards
a goal…
Similar
process to
other a
• • But
what happens
if discover
engineering disciplines
problem?
• Is this really more like Niagara
Falls?
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 In SE-2800, we will
use a process
• SEI: PSP/TSP
model based on
Scrum
Copyright © 2012-2014 by Mark J. Sebern
Process Goals
Overwhelmingly, software development
managers and stakeholders ask us for two
things:
Copyright © 2012-2014 by Mark J. Sebern
Comparing Iterative
Models
Waterfall model/
Predictive Process
Planning
model
Scrum
Heavy focus on
Team experience,
process data, tracking integrated customer
Quality
management
Tests written by
external agent
Short cycles to
provide monitoring
Final product
definition
Schedule target,
defined
Flexible, adaptive
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
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
Copyright © 2012-2014 by Mark J. Sebern
Tools
• Atlassian
• JIRA/Agile
(plan/track)
• Confluence
(wiki)
• Bitbucket
• Git repository
Copyright © 2012-2014 by Mark J. Sebern
• JUnit
• Test automation
• Jenkins
• Continuous
build
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!
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
Copyright © 2012-2014 by Mark J. Sebern
Download