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


Name  E-mail  Room  Phone  Mailbox
(4th floor, building 1) 
Lecturer  Roland Bol Roland.Bol@it.uu.se 1356  018-471 7606  28 

2. Course start

2.1 What course? 

Code  Swedish name  Credits English name
 1DL250 Programvaruteknik  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:

  1. Introduction to SE - mostly covered (except 5.5)
  2. Dependability and Security - dependability is mostly covered; a guest lecture covers security
  3. Advanced SE - mostly not covered - we briefly look at some items on reuse and distributed architecture
  4. 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:

  1. What additional information would you want to have?
  2. What are the risks? Separate high risks from lesser risks.
  3. 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