Software Engineering
Project Kick-off and Planning

Hans-Petter Halvorsen

1 2 3

Schedule Week Assignment Textbooks Quiz Q&A Next 

×

Software Engineering: Project Kick-off and Planning - This week's Highlights

 

Welcome to this Course in Software Engineering. This is a very practical course with few traditional lectures, instead there are lots of practical work, both individual and in teams. Most of the theory and practical examples are provided as videos and well-written text books, while we have focus on practical work in class, so-called Week Assignments.

 

This week we will do the following:

  1. Introduction to Software Engineering
  2. Project start: We will start with the Project. You need to select a Project from the Project List

 

Project Kick-off and Planning: In the Project, we will start with the following this week:

 

For more details, see the Week Assignment.

1. Preparations

2-3h. Main focus: Prepare to participate in class activities. It is important that you are prepared when you come to class. 

Software Engineering: Project Kick-off and Planning - This week's Highlights

 

Software

You need the following Software (make sure to install them before you come to class!):

(You will need more software later)

PC recommendations - The main tool will be your PC, so make sure your PC is up to date.

 

Note! In class we will need to use the software mentioned above. Installing software is time consuming! Don't waste your, the group or the teachers time in class. Make sure to install it before class. If you don't have the software ready for class, you cannot keep up with the practical exercises and project work that you should do in class.

 

Resources

Please go through the resources below before you meet in class.

Software Engineering Overview

 

Why Software Engineering? There are many differences between a one-person programming and large software system development. The degree of complexities between these two approaches make it necessary to bring more discipline into the development process. Modern software engineering is very complex and there are large numbers of failures in many software projects and defects encountered in the software products. That's why Software Engineering is needed. See the videos below for examples and a short introduction to Software Engineering and the activities involved.

 

Video: What is Software Engineering and Why do we need it?

 

Video: Introduction to Software Engineering (10 Questions to Introduce Software Engineering):

 

Video: Fundamental Activities of Software Engineering:

 

Video: Make a System Sketch in PowerPoint:

A System sketch is an illustration/figure of your system, the different parts the system consists of, and how they relate to each other.

 

Textbooks

The theory part of this course is "reading material" (it's like reading a novel), so be sure to take a look at some of the textbook resources below, and especially the Sommerville book (or Safari books online book if you dont have the Sommerville book). The main concept in this course is to read the theory at home and then apply the theory concepts on the project.

Software Development Literature

 

Read the following chapters in one ore more of the following Textbooks below before you meet in class:

Textbook Syllabus
Software Development - A Practical Approach
  • Ch.1-5
Software Engineering (I. Sommerville)
  • Ch.1: Introduction
  • Ch.2: Software Processes
  • Ch.23: Project Planning (with SDP example)
Essentials of Software Engineering (Frank Tsu et al.)
  • Ch.1: Creating a Program (No Java Code)
  • Ch.2: Building a System
  • Ch.3: Engineering of Software
  • App.A: Software Development Plan
Software Engineering (Saikat Dutt, et al.)
  • Ch.1: Software Engineering
  • Ch. 13-17 Project Management

2. Activities in Class

6h. Main focus: Practice applying key concepts with feedback. Execution and review of the week assignment will be the main focus in class on Tuesdays and Fridays.

 

Week Assignment

It is important that you do what's in the weekly assignments. The weekly assignments guides you through the course with a red line with a primary focus on important topics in software engineering and practical implementation of these topics through a large project. The contents of the week assignments are important criteria when it comes to censorship and grading in this course. 

 

Course Introduction

Short Introduction to the Course. What is Software Engineering? Why is Software Engineering Important? What do you need to Learn? How shall you learn it?

 

Videos:

The following Videos will be presented and discussed in class:

Why Software Engineering? - Ian Sommerville, author of the book "Software Engineering"

Introduction to Software Engineering (10 Questions and Answers about Software Engineering) - Ian Sommerville, author of the book "Software Engineering"

Software Developer (Espen Eckbo) - Is this a typical Software Developer? Class discussions around this video in class. Flexus.

 

Project Start:

Organize yourselves in groups so that each group gets its own table (Team 1-5). It is desirable with 3-4 students per group and no more than 5 groups in total. When you have organized yourself in groups, choose a project from the project list below (2 difffrent groups cannot have the same project).

Project List 
Project Information

 

Software Development Plan (SDP) - The first thing you need to do when you start a project is to create a Software Development Plan (SDP). Delivery: Please deliver the SDP in Canvas before next Tuesday 10:15.

 

Quiz:

Friday Afternoon Quiz (Software Engineering) - Can you relax this weekend? - or do you need to take an extra look at some of the available resources? In order to Pass this Quiz, you need to get a Score >= 70%. You should answer the questions without any aids!

 

3. Complementary Work

6-7h. Main focus: Finish Week Assignment. Check your understanding and extend your learning. Go through the following resources in order to review and get a deeper understanding of what you should learn in this topic. You may also need these resources in order to solve the week assignment.

 

Documents

It is recommended that you read the following documents:

Software Engineering Overview

Visual Studio Team Services - Getting Stared (it has changed name to Azure DevOps) - Azure DevOps will be our main tool in this course. We will use it throughout the whole course from start to end.

 

Videos

It is recommended that you watch the following videos:

Video: Introduction to Software Engineering:

 

Video: Introduction to Azure DevOps (previously Visual Studio Team Services):

 

Web Resources

Below you find some additional web resources for deeper understanding and reflection:

Suksess og fiasko i offentlige IKT- prosjekter + Rapport (PDF)

Atle (42) står bak Amazon-skyen

 

Review

Review Questions (Software Engineering) - Note! This is mandatory! In order to Pass this Quiz, you need to get a Score >= 50%.

In order to get best outcome, you should answer the questions without any aids! You should also write your answers in your own words using Norwegian language. Don't just copy the text directly from the PowerPoints or the Textbooks, in that way you dont learn anything! When answering the Questions, pretend you are sit down taking a final written Exam. This means you should watch Videos, read the Textbooks, PowerPoints and oher Resources in advance before you start answering the Review Questions.

Questions and Answers (Q&A)

In this Forum everybody can ask Questions, answer Questions, give Tips and Tricks, etc. regarding Software Development. Please use Full Name and Picture.