Software Engineering Spring 2009


Table of contents:

0. News
1. Teaching staff
2. Course start
3. Schedule
4. Assignments, exams, grades

0. News

  • The exam is corrected - you can pick up your copy at the IT-office. The pass- condition is "33 or sum >= 55". For exams that scored < 33 points, I have set a grade "3" if "sum >= 55" is true already.
  • 16/4 Slides about Scrum
  • If you missed the seminar, you can pick up a copy of "War Story" outside my room (1356).
  • 25/3 Slides from Accenture.
  • 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 
Assistant  Manivasakan Sabesan  Manivasakan.Sabesan@it.uu.se 1339
018-471 7778
59

2. Course start

2.1 What course? 

Code  Swedish name  Credits English name
 1DL004 Programvaruteknik  7.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. Assignments must be handed in in English.

2.4. Literature

The main course book is Software Engineering, 7th or 8th edition, by Ian Sommerville.
(These editions are identical, except that the 8th edition includes some new chapters - these chapters are however not treated in the course.)
The 6th edition can also be used (check from the 7/8th ed. sections: 4.4, 12.4, 13, 17, 19, 24.4, 28.6) Reading instructions for the 6th edition.

Buy the book now and start reading in time!

2.5. Links


3. Schedule

The schedule consists of lectures (L), guest lectures (G) and exams (E).

3.1.  Course lay-out and speed

The course is taught in close cooperation with another course: Methods of Programming 2. In short, Software Engineering will be responsible for requirements engineering and quality assurance through code review, system level test planning and testing. Methods of Programming 2 will be responsible for implementation, readable code, debugging, module testing and documentation.

The SE assignments are done in groups of three. MP assignments are also done in groups of three. Because of the combination of the courses, it is extremely important that you keep the deadlines. Making a plan and following it is an important part of what Software Engineering is about.
  • 60-75% of the course is taught in period 3 (in average you should spend 12-15 hours per week on it). 
  • 25-40% of the course belongs to period 4 (in average you should spend 5-8 hours per week on it). 
  • The figures are reversed for Methods of Programming 2: if you take both courses, you should spend around 20 hours per week.
A combined overview schedule for both courses, showing their integration, is here.

And this year it gets tricky.  There are many more students in Software Engineering than in PM2. Therefore many SE-groups will not work with an actual PM2 group, but instead they will test systems that were built before. 

3.2. Lectures

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.  

Some lectures are joint lectures with Methods of Programming 2. There are also a few guest lectures. 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.3 Lessons

During two one-hour lessons, the course assistant will explain in detail what you are expected to do in the assignments.

3.4. Time and place

All lectures etc. start at 15 minutes past the hour. The exams start on the hour.
(L = lecture, JL = joint lecture with Methods of Programming 2, l = lesson with details on the assignment, G = guest lecture, S = seminar, E = Exam)
 
Type  Day  Time  Room Subject  Chapters (7/8th)
Important sections (7/8th)
week 4
JL 20/1  13 1211
RB+MP: Introduction; schedule, assignments, waterfall- and V-model, good code  1, 4.1.1, 4.3, 4.5
4.1.1, 4.3.3
L 22/1  15
1211
Requirements, Requirements Engineering  2.3, 4.3.1, 6, 7
2.3, 4.3.1, 6-in, 6.1, 6.2, 6.3-in, 6.5, 7.2, 7.4
week 5
JL 26/1
8
1211
LHE: Standards for code and documentation 27.2,  20.2, 29
27.2, 29-in, 29.5
l
29/1
9
1211
MS: requirements engineering assignment

JL 30/1
13
1211
LHE: Ray tracing and XML - intro
13.4
13.4
week 6
JL 2/2
10
1211
RB: Validation and Verification: inspections and testing
4.3.3, 7.3, 22, 23, 24.1-in
4.3.3, 7.3, 22-in, 22.2, 23-in, 23.1, 23.3.1, 23.4, 24.1-in
L 3/2
13
1211
Iterative processes,
Models and Prototypes
4.1, 4.2, 4.4, 8, 17
4.1.2., 4.2.1, 8.2, 8.3, 8.4.3, 17-in, 17.4
week 7


JL 9/2
10
1211
RB: Defect Testing 
23
23.3.2-23.3.4, summary
week 8


L
16/2
10
1211
Design, Reuse
4.3.2, 11, 12, 13, 18, 19
4.3.2, 11-in, 11.2, 11.4, 12-in, 12.2, 18-in, 19.2
L
18/2
13
1211
Dependable Systems
3, 9, 20, 24
3-in, 3.2, 3.4, 9 (except 9.3), 20-in, 20.1, 20.2.2, 20.4
l
19/2
9
1211
MS: testing assignments
Mid-course evaluation
Mid-course evaluation means that you get an explicit opportunity to comment on the course. (But feel free to comment at any time!) It's not an evaluation of you!
week 9
23/2  10
1211 Guest lecture Lars-Henrik Eriksson: Industrial Applications of Formal Methods 

L
Formal methods 10, 22.4-in
10-in, 10.1
JL
27/2
13
1211
LHE: Scripting languages: how to write test scripts


week 10


L 4/3  15 1211
Maintenance, Evolution,
Legacy systems, Config. management
21, 29
2.4
21.2
2.4, 21.4
L
5/3
8
1211
Project Planning,
Software Cost,
Management
5
26
25
5.2-5.4,
26-in, 26.2, 26.3-in,
25.3.4, 25.3.5
week 11
L 9/3
10 1211
Quality Assurance
Process Improvement
Combined processes
27
28
22.4.1, 4.4, 17.2
27-in, 27.1, 27.5,
28-in, 28.2, 28.5, 28.6
22.4.1, 4.4, 17.2
week 13
G
24/3
15
1211
Guest lecture Mikael Lundgren (Citerus) Introducing Agile methods
17.1
17.1
G
25/3  10 1211
Guest lecture Accenture


week 14
S 31/3
13
1211
Case study (A War Story)
remember to sign up for the exam!
week 16
L
15/4
10
1211
Questions, old exams
Main course evaluation


16/4  8-13

Exam Polacksbacken

details to be announced
E
12/6
8-13

Exam Polacksbacken
E
Aug


Exam

"x-in." means the introduction to Chapter/Section x, before Section/subsection x.1 starts.


Chapters 14, 15, 16 are not covered at all in this course.
Chapters 30, 31, 32 (8th ed.) are not covered at all in this course.

3.4.1 Guest lectures

Accenture will be represented by Jonas Billing and Henrik Boström. Jonas Billing is a Senior Executive and the Country Lead for SI&T - Solutions in Sweden. Henrik is a Systems Analyst and the graduate recruiting lead for SI&T - Solutions in Sweden. Jonas and Henrik will talk about 'Accenture's Delivery Methods as a true global company':
  • What is Accenture and what does Accenture do? (5-10 min)
  • Offshoring and how it affects the IT market in Sweden and how Accenture handles this (35-40 min)
  • Accenture's Delivery Methods: plan, analyze, design, build, test, deploy (45 min)
For more information about Accenture visit: http://backstage.accenture.com/
Did you know that Accenture was rated to be 'Störst och bäst på IT' by 'Veckans affärer': http://ekonominyheterna.se/va/magasin/2008/01-03/storst-och-bast-pa-it/

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
Very much welcome!

3.4.2 Seminar: A War Story (Case Study)

Part one of the story will be distributed on April 3. Make sure that you have read it (*), and bring it!
The rest of the story will be handed out in episodes.

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: your whole group is joining this project: 20 programmers, 2 first-level managers, a secretary and a typist.

4. Assignments, exams, grades

Assignments are made in groups of 3. Each group will work with a team from the MP2 course, or test code from previous years.

4.1 Overview 

Item hours per student grade points  start
deadline
rework (major)
rework (minor)
Lectures, exam and reading time  100
60 



Assignment 1: Requirements 20
14
29/1
13/2 at 17:00
27/2 at 17:00
hand in with test spec
Assignment 2: Test spec 40
20
19/2
13/3 at 17:00
27/3 at 17:00
hand in with 1st test report
Assignment 3: First test report
15
3
23/3
3/4 at 17:00*
no (do better next time)
Assignment 4: Second test report
15
3
5/5
12/5 at 10:00*
no (because you did better)
* This deadline is extended if the System Under Test is not delivered in time for testing.

4.2 Assignments

Completed assignments should be put into Sabesan's mailbox (floor 4, number 59) before the deadline. Graded assignments will be returned on the shelf outside room 1346. If you have questions, you can send e-mail or see if Sabesan is in his office (1339).

4.3 Grading

  • Assignments Details follow with the assignments. The sum of the assignments is 40 points.
  • Exam The exam counts for 60 points. The weight of each question will be on the exam. The exam covers the book (except the chapters listed above).
You can receive the grades 3, 4 or 5 on both the assignments and the exam in isolation, and on the course as a whole.
To pass, you can compensate low points on the exam by high points on the assignments, or vice versa.

max points
required for grade: 3
4
5
exam (4.5 credits)
60
33 or sum >= 55
39
45
assignments (3 credits)
40
22 or sum >= 55
26
30
course (sum)
100
55
65 75

You must complete all assignments, even if you have enough points.

4.4 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