Skip to content
This repository was archived by the owner on Aug 18, 2023. It is now read-only.

Latest commit

 

History

History
307 lines (193 loc) · 10.2 KB

Slides.md

File metadata and controls

307 lines (193 loc) · 10.2 KB

class: center, middle

Analysis, Design and Software Architecture

Software Engineering Session 1

Helge Pfeiffer, Assistant Professor,
Research Center for Government IT,
IT University of Copenhagen, Denmark
ropf@itu.dk


class: center, middle

About this course


Who are we?

  • TAs: Emily, Gustav, Mikkel, Mille, Tamara
  • Teachers: Helge, Rasmus

Contact us and the TAs via Discord.


The Teaching Assistants (in alphabetical order)

  • Emily
  • Gustav
  • Mikkel
  • Mille
  • Tamara

Rasmus

  • You will meet him on Friday, where he will introduce himself.

Helge

  • Dipl-Inf. in Software Engineering from Friedrich-Schiller Universität Jena
  • PhD in Software Engineering from ITU
  • Software engineer at DMI
  • Lecturer at Cphbusiness
  • Since January 2019 back to ITU as adjunkt in the Center for Government IT

Who are you?


Your Expectations

<iframe src="menti_results.pdf" width="100%" height=600 scrolling="auto"></iframe>

Our Expectations

  • Having fun with our work.
  • Hopefully, presenting relevant aspects of software engineering that are representative for your future professional tasks.
  • That you support each other when working through the course material, on the assignments, and on the project.
  • That you work continuously (as we do) on this course.
  • That you work for the about 20-24 hours per week on this course.
    • This is the amount of time corresponding to 15 ECTS.
  • That you work on the exercises during the exercise classes.
  • That you work collaboratively in public repositories on GitHub.
  • Do not be afraid to talk to me during classes.

Note, be prepared for quite a bit of work and many moments of despair :(

This is unfortunately how learning works. At the moment it hurts but once you know how to solve your problems, solutions appear to be easy and straight forward.


Grade distribution BDSA 2021

<iframe src="images/grades.html" sandbox="allow-same-origin allow-scripts" width="100%" height="300" scrolling="no" seamless="seamless" frameborder="0"> </iframe>

That is, more than a quarter of the students failed the exam and had to take the re-exam.

From these numbers and from feedback, we know that many students believe that this is the most difficult course during your BSc. But that should not block you.


Schedule and Material


LearnIT

Find on LearnIT (https://learnit.itu.dk/course/view.php?id=3021292) the:

  • official course description,
  • intended learning outcomes, and
  • exam description

Lectures are not recorded?

  • After almost two years of online and remote teaching, I want to reestablish the "real" thing.
  • Experience shows, that lectures are watched to a way lower degree than people believe.

SW Eng. Lectures are not recorded?

<img src="https://media.springernature.com/full/springer-static/image/art%3A10.1007%2Fs10734-018-0275-9/MediaObjects/10734_2018_275_Fig1_HTML.png" width="100%")>


SW Eng. Lectures are not recorded?

<img src="https://theshiftproject.org/wp-content/uploads/2019/07/Graphique_EN_GHG-emissions-of-online-video.png", width="100%">


Lectures are not recorded, what can I do?


class: center, middle

What are we going to do in this course?


What are we going to do in this course?

<iframe src="https://itustudent.itu.dk/Your-Programme/BSc-Programmes/BSc-in-Software-Development" sandbox="allow-same-origin allow-scripts" width="100%" height="300" scrolling="auto" seamless="seamless" frameborder="0"> </iframe>

What are we going to do in this course?

[previously], we assumed that we more or less know what the classes are that we should use to solve our problems. In a real software project, deciding what classes to use to implement a solution to a problem can be one of the most difficult tasks. [...]

These initial steps of developing a software system are generally referred to as analysis and design. We analyze the problem, and then we design a solution.

Barnes et al. Objects First with Java: A Practical Introduction Using BlueJ (Sixth Edition)

--

What else do Barnes et al. describe?


Case: Coronapas App

--

Not a small software project:

[...] den samlede pris for appen ventes at løbe op i 46,9 millioner kroner, mens udgiften til udviklingsfasen, der løber frem til udgangen af maj ventes at lande på 17,3 millioner kroner.

https://www.computerworld.dk/art/256654/her-kan-du-hente-danmarks-spritnye-coronapas-app


Case: Coronapas App

Stakeholders:

  • Digitaliseringsstyrelsen
  • Netcompany and Trifork
  • ???

Case: Coronapas App — How do you think it works?

--

Source Whitepaper om coronapas-appen.

Case: Coronapas App — How do you think it works?

Source Whitepaper om coronapas-appen.

What to do now?

  • Before the next session on Friday you have two exercise sessions á 2 hours each.
  • I would like you to work in groups of 6.
  • Implode the Coronapas App. That is, each group answers the following questions and create two posters:
    • A knowledge map about the Coronapas App
    • An ignorance map about the Coronapas App

What to do now?

List of questions about the Coronapas App:

  1. Who makes it? How is it made? What are its parts? What are the stages in its creation process?
  2. What kind of professionals are involved in making expert decisions regarding its development, production, and dissemination?
  3. What are the regulations concerning it? How do these regulations help constitute it?
  4. How is it created after government decided to have one?
  5. How can it be illustrated? How can its parts be illustrated?
  6. Is there something that is reused during its creation, operation and maintenance?
  7. What is done to make sure it works as intended?
  8. How is it actually build and distributed?
  9. How does it impact organizations (e.g., schools, businesses, governments)? How does it impact personal life (e.g., family, friendship)?

What to do now?

  • Form groups of six people.
  • Map your answers to the questions above in a knowledge map (using for example the mindmap notation) using pen and paper.
    • While doing that, do not google to increase your knowledge about the Coronapas App.
  • Thereafter, create an ignorance map. That is, note in a diagram as above everything that you do not know about the Coronapas App with respect to the questions above and with respect to your own questions.
    • While doing so try to figure out and note down where you could find answers to your questions and knowledge to topics that you don't know.

Wednesday at the end of the exercise session take a picture of your posters and send them to me via the LearnIT Hand-in.


Your turn!