Software Implementation

Hans-Petter Halvorsen

1 2 3

Schedule Week Assignment Textbooks Quiz Previous Next 

×

Software Implementation - This week's highlights

 

This weeks topic is Software Implementation. The main focus this week is to continue working on the project with focus on implementation and programming of your system, i.e, do the tasks according to the Sprint Backlog for the Beta iteration. 

 

Main Focus:

  1. Agile Project Methodology: It is important that you actively use Scrum as part of your project, i.e., using Azure DevOps as your daily tool, maintain and update the Product Backlog, Sprint Backlog and Task Board, having Daily Scrum Meetings, etc. 
  2. Agile Programming Principles: As part of the Week Assignment this week, we will also focus on some key Agile programming principles, such as Code ReviewsRefactoring and Pair Programming.
  3. Continue working on your Desktop Applications and/or ASP.NET Core Web Applications in your Project.

 

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 Implementation - This week's highlights

 

Software

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

 

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.

Stackoverflow - See also the Stackoverflow Developer Survey 2020

 

Videos:

We will focus on creating Web Applications using the ASP.NET Core Framework.

Video: ASP.NET Core - Database CRUD Application:

PowerPoint used in the Video

This video is also available on my Youtube Channel (Industrial IT and Automation).

 

Video: ASP.NET Core - Charts:

PowerPoint used in the Video

This video is also available on my Youtube Channel (Industrial IT and Automation).

 

 

Video: The software reuse landscape:

 

Web Resources:

Code Review:

What is Code Review? [Wikipedia]

Why code reviews matter (and actually save time!)

Code Review Checklist

Code Review Checklist and Guidelines for C# Developers

 

Refactoring:

What is Code Refactoring? [Wikipedia]

 

Pair Programming:

Agile in Practice: Pair Programming

What is Pair Programming? [Wikipedia]

How to Pair Program

 

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. The main concept in this course is to read the theory at home and they 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. 12 Software Implementation
Software Engineering (I. Sommerville)
  • Ch. 7 Design and Implementation
  • Ch. 3.2.2 Refactoring
  • Ch. 24.3-4 Reviews and Inspections p.78, 83-84, p. 715 Pair Programming
Essentials of Software Engineering (Frank Tsu et al.)
  • Ch. 9 Implementation
Software Engineering (Saikat Dutt, et al.)
  • Ch. 8: Software Coding

The selected chapters in bold font are highly recommended!

 

 

2. Activities in Class

6h. Main focus: Practice applying key concepts with feedback. Execution and review of the week assignments will be the main focus in the scheduled class activities.

 

Review: Review of the Software Architecure within your Projects. Class discussions and feedback.

 

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. 

 

Quiz:

Quiz - 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:

 

Videos

It is recommended that you watch the following videos:

Game of Codes

10 Programming Languages

Design and Implementation (from Software Engineering Course at NTNU)

 

Web Resources

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

Parprogrammering - Prosjektoppgave - Hvilke fordeler kan man oppnå ved å bruke parprogrammering framfor individuell programmering, og hva er viktige forutsetninger for å oppnå disse fordelene?

ASP.NET Web Programming

 

Review

Review Questions - 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 the 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.