SE Spring 2013

Software Engineering Spring 2013

Table of contents:

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

0. News

  • The guest lectures by Lars-Henrik Eriksson and Lennart Beckman have unfortunately been cancelled. I will give a short summary of those lectures on 13/3.

1. Formalities

1.1 Lecturer

Name  E-mail  Room  Phone 
Roland Bol 1356  018-471 7606 

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.

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 1.3, 5.5, 7)
  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)
sections (9th)
week 4
L 22/1 8
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 slides
L 23/1
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.6, 4.7 slides
L 25/1
Models and Prototypes,
Incremental and Iterative,
5, 2.3, 3
5-in, 5.2, 5.4, 2.3.1
3.1, 3.2 slides
week 5
Mikael Lundgren (Levla)
Agile and Scrum
3.1, 3.4 notes
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 slides
L 30/1
Validation and Verification: inspections and testing 2.2.3, 4.6, 24.3, 8, 15.2 2.2.3, 24.3, 8-in, 8.1.4, 8.2, 8.3.1, 15.2 slides
week 6
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 slides
Defect Testing
mid-course evaluation (see below)
summary, slides  8.1.1-8.1.3
Project Planning,
Software Cost,
22, 23 22-in, 22.1,  23.2, 23.3,
23.5-in, 23.5.1
22.3 slides
week 7
Maintenance, Evolution,
Legacy systems, Config. management
9, 25 9.3-in, 9.3.2, 9.4, 25.3, slides
Quality Assurance
Process Improvement
Combined processes

Cleanroom, 2.4, 3.3
24-in, 24.1, 24.4
26-in, 26.4, 26.5
Cleanroom, 2.4, Fig.3.4
week 9 
Reminder: sign up for the exam!
Case study (A War Story) In Swedish (DV, IT, ...)

Case study (A War Story) In English (Master, ...)

week 9 or 10
to be decided
Lars-Henrik Eriksson (UU, Nya Industrilogik):  Industrial Applications of Formal Methods
12.5, 15.1, 15.4, 15.5-in
15.1, slides
week 10
Holger Karlsson and Johannes Borgehammar (Accenture) 22 22.3, slides (in Student Portal)
Lennart Beckman (Europoint)
Development of secure systems
11.4, 12.4, 14, 15.3
11.4, 14.1, 14.2.3, slides
week 11
Questions, old exams

E 15/3
PB 5

PB 5


PB 5

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

3.3 Guest lectures

Mikael Lundgren is a DV alumni, Mikael has worked as a software developer, project manager, Scrum Master and development manager. Today he is a consultant at Levla, helping software companies improve their work using Lean and Agile development frameworks. Mikael became a Certified Scrum Trainer in 2006, out of 50 worldwide.

  •  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
Lennart Beckman from Europoint Networking is an expert on the development of secure systems.
The focus is on the processes required to make a system secure and how to avoid common mistakes (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 Holger Karlsson (IT alumni) and Johannes Borgehammar (STS alumi). As a consultancy company, Accenture can apply many different development models, both traditional and agile, depending on the needs of the customer. One of the key successes of Accenture is their successful application of offshoring.

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 February 14. 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. The goal is to learn to search for literature and summarize it in a way that a researcher would do for later reference. I use the progress function in Studentportalen to keep track of the three steps of the assignment.
  • 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. Use our Library Resources. Sommerville's blog may contain useful suggested reading.
  1. When you have selected the article, send me by email title, journal, and a link. This should be done no later than February 13. I will reply as quickly as possible to confirm and approve your choice.
  2. Write a report on the article. The report must summarize the material (in no more than 2 pages), and  also include your own judgement and ideas. What are the authors main points? Do you agree?
  3. Deadline: March 13. Hand in through Studentportalen.
    Basic rules for written material apply: write your name, write proper references (possibly just one), mark quotations by citations marks, don't quote whole paragraphs.
  4. Give feedback on another student's summary. The goal is to check the language, understandability and that it's useful as a summary (the goal is not to check that the summary is correct - you don't need to read the original article). Deadline: March 21. Feedback form (.docx, writeable .pdf) Hand in through Studentportalen and preferably send an email to the other student too.

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

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.