Basics of SE Flashcards

1
Q

Traditional Software Development vs. AI Projekt:

  • Goal
  • Quality
A

Traditional:
Goal: Satisfy functional and non-functional
requirements (meet a specification)
AI / ML
Goal: Optimize a certain metric and try to
improve it via experimentation

Traditional
- Quality of the software depends mostly on
code
AI / ML
- Quality depends on multiple factors (input
data, data cleaning, feature engineering,
tuning parameters, ML algorithm, etc.)

AI-enabled software system requires both!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Nenne die Elemente

Was sind die 4 Elemente in einem ML-Lifecycle. Nenne auch Beispiele

(3) (3) (2) (5)

A
  • Requirements Engineering: Project Requirements, Goals, Metrics
  • Design + Architecture: MLOps, Infrastructure, integrated design
  • Implementation + Testing: API-Design, non-functional properties (SLA testing)
  • Deployment + Monitoring: Deployment infrastructure, heart beat, monitoring/logging capabilities, version management, feedback loop
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define:

Was sind DevOps Goals?

(4 main) (6 more over)

A

Automate processes (testing, integration, feedback, error report, deployment, etc.)
thereby improving software quality through better (more frequent)
tests, similar environments in dev and prod, actually needed features (fast feedback),
more secure software (using standardized procedures)

  • Minimize time to deployment
  • Maintain your own product in production
  • Enable agile development (iterative process without DevOps possibly infeasible)
  • Own the environment (and infrastructure) your system is running on
  • Bridge the gap between local and cloud (remote) computing
  • Save (reliable) updates and rollouts of software versions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Define

Was ist die Idee hinter Virtualization and Containerization?

A

Abstract from the (i) physical hardware and (ii) the environment your application is running on. Create your virtual
environment anywhere.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define:

Was sind SLA-Tests

A

Service-Level-Agreement Tests:
Es sind spezifische Tests, die auf meine Performance-Ziele hinarbeiten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Docker:
Was macht LABEL?

A

Provide key/value metadata (version, topic, etc.)
LABEL <key>=<value>

LABEL version="1.0"
LABEL description="This text illustrates \
that label-values can span multiple lines."
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Docker:
Was macht ARG?

A

Define Docker build-time variables
ARG <name>[=<default value>]

FROM busybox
USER ${username:-some_user}
ARG username
USER $username
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist der Command für:
build image using tag <image_tag> und Version <version>

A

docker build -t <image_tag>:[<version>]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist der Command für:
Lists all the available images

A

docker image ls or docker images

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist der Command für:
Create a new instance of the image (run a docker container) in detached mode with name <name> and remove image after exit

A

docker run [-d] [--name <name>] [--rm <image_tag>]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist der Command für:
Lists all currently running containers (use [-a] to show stopped as well)

A

docker container ls or docker ps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist der Command für:
Removes a docker image

A

docker image rm <image>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was steht für: IaC
Definiere Ziel, Idee und Vorteile

Z: 3, I: 1, V: 6

A

Infrastructure as Code:

Automate:
- configuration
- deployment
- management of infrastructure resources (virtual machines, containers, networks, storage)

Idea
Nutze wiederverwendbaren Code

Benefits
- In Code Repo
- Consistent Deployment
- Efficient
- Scaling
- Reproducibility of Environments
- Easy Sharing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind Acceptance-Tests?

A

Softwaretests, bei denen bewertet wird, ob ein System seine Geschäfts- und Benutzeranforderungen erfüllt. Letzte Testphase vor Deployment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly