SE Spring 2011
Software Engineering Spring 2011
Table of contents:
0.
News
1.
Teaching staff
2.
Course start
3.
Schedule
4.
Assignments, exams, grades
0. News
- 11-4-08 Facit to the first
exam.
- 11-3-16 There is another exam on April 29 (Polacksbacken, 8-13).
- 11-3-07 The first part of "A War Story" is outside my door
(1356). It takes maybe 15 minutes to read it.
- 11-2-28 For the UCSD project, lecture notes and assignment are
now uploaded in the Student
Portal.
- 11-2-17 Slides from the Accenture lecture are uploaded in the
Student Portal.
- 11-2-14 Accenture's guest lecture confirmed.
- 11-2-11 Updated slides for Formal methods lecture
- 11-2-08 Slides on testing (general) added.
- 11-2-01 Notes by Mikael Lundgren added in the reading table.
- 11-1-24 Minor updates to reading instructions. Guest lectures
1/2, 10/2 and 23/2 are confirmed.
- 11-1-11 This page created. Guest lectures are not yet confirmed.
- Printer-friendly version of
this page.
1. Teaching staff
2. Course start
2.1 What course?
Code |
Swedish name |
Credits |
English name
|
1DL250 |
Programvaruteknik |
5 |
Software Engineering
|
2.2. Registration
Students who have been accepted (
antagen) to the course and
exchange students will be registered at the first lecture. It is also
possible to register through
Studentportalen.
2.3. Language
The course will be given in English.
2.4. Literature
The main course book is Software
Engineering,
9th
edition, by Ian Sommerville.
The 9th edition is an improvement over the 7th/8th edition. If you
insist on using the 7th or 8th edition (these
editions are identical, except that the 8th edition includes
some new chapters not treated in the
course), reading instructions are
here.
Buy the book now and start reading in time!
The book consists of for parts:
- Introduction to SE - mostly covered (except 5.5)
- Dependability and Security - dependability is mostly covered; a
guest lecture covers security
- Advanced SE - mostly not covered
-
we
briefly
look
at
some
items
on
reuse
and
distributed
architecture
- Software Management - mostly covered (not details in 23.5!)
2.5. Links
- I have been asked in course evaluations to provide a real-life
example of a requirements specification. I found the following specification ; notes
- It's 151 pages - browse it, don't waste paper on it
- It does not exactly follow our template - there are many such
templates around
- The source is OPF.
- I'm not sure that it's actually real-life (in the sence that it
was meant to be implemented), but it could be.
- You're not supposed to write 151 pages in such detail for
assignment.
3. Schedule
The schedule consists of lectures (L), guest lectures (G) and exams (E)
3.1. Lectures and ...
The purpose of the lectures is to summarize, clarify and complement the
literature, and to highlight the important points. They follow the book
rather closely, though not exactly in the same order. The detailed
schedule below lists the chapters in the book that are related to each
lecture. Attendence is of course recommended, but not obligatory.
There are 4 guest lectures and a seminar (
schedule still subject
to change!). The guests come from the university and industry. The
topics are current research and industrial practices in software
engineering. The purpose is to put the course material in a wider
perspective, and to complement the views of the lecturer with others'
views.
3.4. Time and place
All lectures etc. start at 15 minutes past the hour. The exams start on
the hour.
(L = lecture, G = guest lecture, S = seminar, E = Exam)
Lectures in
green are
part of the course in
User-centered
Systems
Design, that are of interest for this course.
Literature: "x-in." means the introduction to Chapter/Section x, before
Section/subsection x.1 starts.
Type |
Day |
Time |
Room |
Subject |
Chapters
(9th)
|
Important
sections (9th)
|
week 3
|
L |
17/1
|
8
|
2347
|
Introduction: schedule, assignment, etc.
Software processes
|
1.1, 1.2, 2.1, 2.2.3, 2.3.3
|
2.1.1, 2.1.2, 2.2.3
|
L |
19/1
|
10
|
2347
|
Requirements, Buy and/or build?, Requirements
Engineering |
2.2.1, 4, 10.3
|
2.2.1, 4-in, 4.1, 4.2, 4.3-in,
4.3.1,
10.3, 4.5, 4.7
|
week 4 |
L |
24/1
|
8
|
2347
|
Models and Prototypes, Agile vs plan-driven
|
5 (except 5.5), 2.3.1, 2.3.2, 3
(except 3.4, 3.5)
|
5-in, 5.2, 5.4, 2.3.1, 2.3.2,
3.1, 3.2, 3.3-in, 3.3.2 |
L
|
25/1
|
13
|
2347
|
Design,
Reuse |
2.2.2, 6, 18,
2.1.3, 16, 17 |
2.2.2, 6-in, 6.1, 6.3, 18-in,
18.2, 18.3.2, 18.3.3,
2.1.3, 16-in, 16.4-in, 17.2 |
week 5 |
G
|
1/2
|
10
|
2347
|
Mikael Lundgren (Citerus)
Agile and Scrum
|
3.1, 3.4, 3.5, 23.4, notes
|
3.1, 3.4, notes
|
L |
4/2
|
15
|
2347
|
Validation and Verification: inspections and
testing
|
2.2.3, 4.6, 24.3, 8, 15.2
|
2.2.3, 4.6, 24.3, 8-in, 8.1.4,
8.2, 8.3.1, 15.2, slides
|
week 6
|
|
|
L
|
8/2
|
13
|
2347
|
Dependable Systems
|
10-in, 10.1, 10.5.1, 11, 12, 13
|
10.5.1, 11-in, 11.1, 11.3,
12-in, 12.1,
12.2, 12.3, 13.2, 13.3, 13.4
|
G
|
10/2
|
10
|
2347
|
Lars-Henrik
Eriksson (UU, Nya Industrilogik):
Industrial Applications of Formal Methods
|
12.5, 15.1, 15.4, 15.5-in
|
15.1, slides |
week 7 |
L
|
14/2
|
8
|
2347
|
Defect Testing
mid-course evaluation (see below) |
8
|
summary,
8.1.1-8.1.3
|
G
|
16/2
|
10
|
1111
|
Agile
development in UCSD (Joakim Lööv)
|
|
|
G
|
17/2
|
13
|
2347
|
Per Finnström
(Accenture) |
22, 3.5
|
22.3, slides in the Student
Portal
|
week 8 |
L
|
21/2
|
15
|
2347
|
Maintenance, Evolution,
Legacy systems, Config. management |
9, 25 |
9.3-in, 9.3.2, 9.4, 25.3, slide |
G
|
23/2
|
13
|
2347
|
Håkan Engvall (Imentum)
Development of secure systems
|
11.4, 12.4, 14, 15.3
(2.4)
|
11.4, 14.1, 14.2.3, slides
|
week 9 |
L
|
1/3
|
8
|
2347
|
Project Planning,
Software Cost,
Management
|
22, 23
|
22-in, 22.1, 23.2, 23.3,
23.5-in, 23.5.1
22.3
|
L
|
3/3
|
13
|
2347
|
Quality Assurance
Process Improvement
Combined processes
|
24
26
Cleanroom,
2.4,
3.3
|
24-in, 24.1, 24.4
26-in, 26.4, 26.5
Cleanroom,
2.4,
3.3
|
week
10
|
G
|
7/3
8/3
|
13-17
10-15
|
1111
|
Requirements
engineering
(Neil
Maiden)
|
|
|
S
|
7/3
|
13-16
|
1245
|
Case
study
(A
War
Story), attend one of the occasions, preferably the first one if
you don't go to Neil Maiden's classes.
|
|
9/3 |
13-16
|
1212
|
|
L
|
11/3
|
10
|
2347
|
Questions, old exams
|
|
|
Exams |
E |
16/3 |
8
|
Pb
|
Exam, Polacksbacken exam hall
|
|
|
E |
29/4
|
8
|
Pb
|
Exam, Polacksbacken exam hall |
|
|
E
|
June
|
tba
|
tba
|
Exam
|
|
|
E
|
August
|
tba
|
tba
|
Exam
|
|
|
The mid-course evaluation, is an evaluation of the course
(right speed, interesting?) - it is not a test!
3.4.1 Guest lectures
Citerus will be represented by Mikael Lundgren. Being a DV
alumni, Mikael has worked as a software developer, project manager,
Scrum Master and development manager. Today he is a consultant, helping
software companies improve their work using Lean and
Agile development frameworks. Mikael became a Certified Scrum
Trainer in 2006, out of 50 worldwide.
- What is Citerus, and what do we do? (5 mins)
- Lean and Agile - an overview and history
- How does Agile Software Development work? Why does it work?
- Scrum, the roles in Scrum, why Scrum is different
- Scrum projects vs traditional projects
- Continuous learning and improvements
Formal methods are presented by Lars-Henrik Eriksson, currently
a lecturer at UU. Lars-Henrik has industrial experience of the
application of formal methods, mostly in railway signalling systems. He
works part-time at the company
Nya
Industrilogik.
Accenture
will be represented by Per Finnström. Before he joined Accenture
in 2007, Per worked in two gaming industries in Uppsala, Starbreeze and
Ongame. He is certified Scrum Master since 2006 (certified by Mikael
Lungren!)
One of the key successes of Accenture is their offshoring model
and related development method.
Per will also discuss the Agile-Distributed method.
For more information about Accenture visit:
http://backstage.accenture.com/
Imentum, represented by Håkan Engvall, are experts
on the development
of secure systems.
3.4.2 Seminar: A War Story (Case Study)
This is a
case study (story) in 4 parts. We will put ourselves
in the position of the project manager ("you"), and discuss "your"
options/choices.
Part one of the story will be distributed on March 1. Make sure
that you have
read it (*), and
bring it!
The rest of the story will be handed out in episodes (2-3 pages) during
class.
Apart from the questions at the end of each part, consider:
- What additional information would you want to have?
- What are the risks? Separate high risks from lesser risks.
- What would you do next?
(*) Clarification of a detail in the text: "your" whole group is
joining this project: 20 programmers, 2 first-level managers, a
secretary and a typist.
4. Assignment, exams, grades
4.1 Assignment
There are two
alternative assignments -
meaning
that you do only one of them
4.1.1 Choice 1: Summarize an article
in Software
engineering
- This assignment is done individually.
- Choose a topic in Software Engineering that you would
like to know more about.
- Find an article (suggested 10-15 pages) on this topic.
The article can be a paper directed to industry (for example, the
longer papers in IEEE Software) or a purely scientific paper (as in
IEEE Transactions on Software Engineering).
Note: these two journals are only examples - there is
much more out there. A combination of shorter articles may also be
acceptable. The article need not be recent: you can also choose a
"classic" - IEEE
recently listed their "classics" over the last 25 years.
Sommerville's
suggested reading
- When you have selected the article, send me by email title,
journal,
and (preferably) a link. This should be done no later than
February 17.
- Write a report on the article. The report must summarize the
material (in no more than 2 pages), and then also include your own
judgement and ideas.
What are the authors main points? Do you agree?
- Deadline: March 21.
Hand
in
the
summary
through
Studentportalen.
I have also activated
the progress function for the two steps of the assignment.
4.1.2 Choice 2: Participate in the
requirements engineering project of the course User-centered
Systems Design in week 10
- This option is not open to students registered on the
UCSD course - obviously!
- If you want to take this option, let me know no later than
February 17.
- Lectures: Monday 7/3, 13-17 and Tuesday 8/3, 10-15, room
1111.
- Here is the 2011 material.
4.2 Exam and Grading
- Assignment is graded pass/fail(=redo)
- Exam The exam has 60 points. The weight of each question
will be on the exam. The exam covers the book (listed chapters only).
You can receive the grades 3, 4 or 5 on the exam - the course grade is
the exam grade.
|
max points
|
3
|
4
|
5
|
exam
|
60
|
33
|
39
|
45
|
These boundaries are
preliminary and indicative.
Some sample exams
Note that the contents of the course have changed over the years: some
questions refer to material that is no longer included, or guest
lectures that are no longer given. Some new material is included now,
about which there are no questions in older exams. I can comment
details in the final lecture.
roland.bol@it.uu.se
Roland Bol