Software Development
A Practical Approach!
Hans-Petter Halvorsen
https://www.halvorsen.blog
,Software Development
A Practical Approach!
Hans-Petter Halvorsen
Copyright © 2020
ISBN: 978-82-691106-0-9
Publisher Identifier: 978-82-691106
https://halvorsen.blog
ii
,Preface
The main goal with this document:
• To give you an overview of what software engineering is
• To take you beyond programming to engineering software
What is Software Development? It is a complex process to develop modern and professional
software today. This document tries to give a brief overview of Software Development.
This document tries to focus on a practical approach regarding Software Development.
So why do we need System Engineering? Here are some key factors:
• Understand Customer Requirements
o What does the customer needs (because they may not know it!)
o Transform Customer requirements into working software
• Planning
o How do we reach our goals?
o Will we finish within deadline?
o Resources
o What can go wrong?
• Implementation
o What kind of platforms and architecture should be used?
o Split your work into manageable pieces
iii
, • Quality and Performance
o Make sure the software fulfills the customers’ needs
We will learn how to build good (i.e., high quality) software, which includes:
• Requirements Specification
• Technical Design
• Good User Experience (UX)
• Improved Code Quality and Implementation
• Testing
• System Documentation
• User Documentation
• etc.
You will find additional resources on this web page:
http://www.halvorsen.blog/documents/programming/software_engineering/
Here you find an example of a 10-credits course in Software Engineering where this textbook is
used:
https://www.halvorsen.blog/documents/teaching/courses/software_engineering
Information about the author:
Hans-Petter Halvorsen
The author currently works at the University of South-Eastern Norway. The author has been
working with Software Engineering for more than 20 years.
iv
A Practical Approach!
Hans-Petter Halvorsen
https://www.halvorsen.blog
,Software Development
A Practical Approach!
Hans-Petter Halvorsen
Copyright © 2020
ISBN: 978-82-691106-0-9
Publisher Identifier: 978-82-691106
https://halvorsen.blog
ii
,Preface
The main goal with this document:
• To give you an overview of what software engineering is
• To take you beyond programming to engineering software
What is Software Development? It is a complex process to develop modern and professional
software today. This document tries to give a brief overview of Software Development.
This document tries to focus on a practical approach regarding Software Development.
So why do we need System Engineering? Here are some key factors:
• Understand Customer Requirements
o What does the customer needs (because they may not know it!)
o Transform Customer requirements into working software
• Planning
o How do we reach our goals?
o Will we finish within deadline?
o Resources
o What can go wrong?
• Implementation
o What kind of platforms and architecture should be used?
o Split your work into manageable pieces
iii
, • Quality and Performance
o Make sure the software fulfills the customers’ needs
We will learn how to build good (i.e., high quality) software, which includes:
• Requirements Specification
• Technical Design
• Good User Experience (UX)
• Improved Code Quality and Implementation
• Testing
• System Documentation
• User Documentation
• etc.
You will find additional resources on this web page:
http://www.halvorsen.blog/documents/programming/software_engineering/
Here you find an example of a 10-credits course in Software Engineering where this textbook is
used:
https://www.halvorsen.blog/documents/teaching/courses/software_engineering
Information about the author:
Hans-Petter Halvorsen
The author currently works at the University of South-Eastern Norway. The author has been
working with Software Engineering for more than 20 years.
iv