SE Autumn 2011

Software Engineering Autumn 2011


Table of contents:

0. News
1. Formalities
2. Material
3. Schedule
4. Assignments, exams, grades

0. News

  • 5/3 There will be a re-exam on 11/4 too!
  • 31/1 The re-exam in March is at Gimogatan, March 9, 14-19.
  • 16/12. The exam has been corrected. Results will be in Uppdok on Tuesday. Here is the exam with solutions and comments. 44 students wrote the exam, 29 passed. I think that the exam came a bit early, and that many students could have used another week to prepare. The next exam is on March 9, since the course runs period 3 (you're welcome to make up for missed lectures).
  • 1/12 The slides of the guest lecture by Accenture are available in the student portal.
  • 16/11 Progress function for the assignment started, send me your aticle choices!
  • 19/10  All guest lectures are now confirmed.
  • Printer-friendly version of this page.

1. Formalities

1.1 Lecturer

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

1.2 This course

Code  Swedish name  Credits English name
 1DL250 Programvaruteknik  Software Engineering

The course will be given in English. 

1.3 Admission and registration

All admitted students register through Studentportalen. For re-registrations: contact the IT-office.
Registrations will be processed Oct 31 and Nov 7, so Nov 6 is your deadline!

Students who are not admitted yet should apply through the National admission website, except
- Masters students: apply through their student counsellor
- Exchange students - contact Ulrika Jaresund.

If you want to unregister, please do so within 3 weeks of the course start; contact the IT-office.

2. Material

2.1 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.2. 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.
  • Sommerville's blog

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. 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.2. 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)
Reading: "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 43
L 27/10
13
1211
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 28/10
8
1211
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 44
L 31/10
10
1111
Models and Prototypes,
Incremental and Iterative,
Agile
5, 2.3, 3
5-in, 5.2, 5.4, 2.3.1
2.3.2
3.1, 3.2
L
2/11
15
1211
Design, Reuse 2.1.3, 2.2.2, 6, 18, 16, 17
2.1.3, 2.2.2, 6-in, 6.3, 18-in, 18.2, 18.3.2, 18.3.3, 16-in, 17.2
G
4/11
10
1211
Mikael Lundgren (Citerus)
Agile and Scrum
3
3.1, 3.4 notes
week 45
L 8/11
15
1211
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
L
9/11
8
1211
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.4
G
11/11
10
1211
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 46
L
14/11
13
1211
Defect Testing
mid-course evaluation (see below)
8
summary,
8.1.1-8.1.3
G
16/11
8
1211
Lars-Henrik Eriksson (UU, Nya Industrilogik):
Industrial Applications of Formal Methods
12.5, 15.1, 15.4, 15.5-in
15.1, slides
week 47
L
21/11
13
1211
Maintenance, Evolution,
Legacy systems, Config. management
9, 25
9.3-in, 9.3.2, 9.4, 25.3, slide
L
24/11
10
1211
Project Planning,
Software Cost,
Management
Reminder: sign up for the exam!
22, 23
22-in, 22.1,  23.2, 23.3,
23.5-in, 23.5.1
22.3
week 48
G
29/11
13
1211
Per Finnström (Accenture) 22
22.3
L
2/12
8
1211
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, Fig.3.4
week 49
S
5/12
9-12
1245
Case study (A War Story) In Swedish (STS, IT, ...)

6/12
13-16
1211
Case study (A War Story) In English (Master, ...)

L
7/12
8
1311
Questions, old exams


Exams
E 9/12


Exam


E
9/3
14-19

Exam - Gimogatan 4 room 2 (really the regular exam for period 3. Same content.)
E
11/4
8-13

Exam

E
4/6
8-13

Exam Bergsbrunnagatan 15, room 2


The mid-course evaluation, is an evaluation of the course (right speed, interesting?) - it is not a test!

3.3 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
Imentum, represented by Håkan Engvall, are experts on the development of secure systems.
The focus is on the processes required to make a system secure (for the technology, sign up for the courses Secure computer systems I and II and Cryptology).

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. He also teaches the course Provably correct software.

Accenture will be represented by Per Finnström. He presents the Accenture Development Model (an instantiation of the V-model). One of the key successes of Accenture is their successful application of offshoring. For more information about Accenture visit: http://backstage.accenture.com/

3.4 Seminar: A War Story (Case Study)

This is a case study (story) in 4 parts.
Part one of the story will be distributed on November 29. 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.

We will put ourselves in the position of the project manager ("you"), and discuss "your" options/choices. 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

This assignment is done individually.

Summarize an article in Software engineering
  • 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. Preferably the article should be quite recent (not older than 5 years), although there are some older classics that are still highly relevant. Sommerville's blog may contain useful suggested reading
  • When you have selected the article, send me by email title, journal, and a link. This should be done no later than November 24. I will reply as quickly as possible to confirm and approve your choice.
  • 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: January 8. Hand in the summary through Studentportalen. I use the progress function to keep track of the two steps of the assignment.

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 (not everything - as indicated by the reading instructions).
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