SE Spring 2012

Software Engineering Spring 2012


Table of contents:

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

0. News


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.

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)
Important
sections (9th)
week 3
L 18/1 13
1111
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 20/1
15
1111
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
week 4
L 25/1
15
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 slides
L
26/1
15
1111
Mikael Lundgren
Agile and Scrum
3
3.1, 3.4 notes
week 5
L
30/1
8
1111
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 1/2
8
1111
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
L
6/2
8
1111
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
G
7/2
10
1111
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
L
8/2
8
1111
Defect Testing
mid-course evaluation (see below)
8
summary, slides  8.1.1-8.1.3
week 7
G
15/2
8
1111
Lars-Henrik Eriksson (UU, Nya Industrilogik):  Industrial Applications of Formal Methods
12.5, 15.1, 15.4, 15.5-in
15.1, slides
L
17/2
15
1111
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 slides
week 8
S
20/2
9-12
1113
Case study (A War Story) In Swedish (DV, IT, ...)

23/2
9-12
1113
Case study (A War Story) In English (Master, ...)

L
24/2
10
1111
Maintenance, Evolution,
Legacy systems, Config. management
9, 25
9.3-in, 9.3.2, 9.4, 25.3, slides
week 9
L
27/2
15
1111
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
slides
G
2/3
15
1111
 Edmund Buck (Accenture) 22
22.3 slides (in Student Portal)
week 10
L
6/3
13
1111
Questions, old exams


Exams
E 9/3
14-19

Exam - Gimogatan 4 room 2


E 11/4
8-13

Really a re-exam for the period 2 course. Same content. I may not have corrected the March exam before the last signup date (28/3)
E
4/6
8-13

Exam Bergsbrunnagatan 15, room 2

E
August


Exam


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.

  •  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 Edmund Buck and Alexander Jogren (an alumn of the course). 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 February 15. 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 February 17. 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: March 19. 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