ZSI / Čo je to softvérové inžinierstvo?

Čo je to softvérové inžinierstvo a prečo sa ním máme zaoberať?

Základy softvérového inžinierstva

Sergej Chodarev (sergejx.net)

Programovanie

Programovanie

Softvérové inžinierstvo

Softvérové inžinierstvo

Softvér rieši problém zákazníka

The classic software startup writes code to solve users' problems. If AI makes writing code more of a commodity, understanding users' problems will become the most important component of starting a startup. But it already is.

— Paul Graham (@paulg) February 10, 2025

Softvér vyvíja tím ľudí

Softvér sa vyvíja postupne

Softvér je zložitý

Softvér musí fungovať

Je vývoj softvéru skutočne inžinierstvom?

Čo je inžinierska práca?

Bežná predstava

Inžinieri

Robotníci

Ako je to pri softvéri?

Roborníci


  gcc -o program program.c
  python program.py
  npm run build
  gradle build
  make
  ...
  

Inižnieri

Softvér vs. iné odbory

Softvérové inžinierstvo

Software engineering is the application of an empirical, scientific approach to finding efficient, economic solutions to practical problems in software.

– David Farley, “Modern Software Engineering

So, we must become experts at learning and experts at managing complexity.

— David Farley, “Modern Software Engineering

Začiatky

Margaret Hamilton in 1969, standing next to listings of the software she and her MIT team produced for the Apollo project

Softvérové inžinierstvo

There is no single development, in either technology or management technique, which by itself promises even one order of magnitude improvement within a decade in productivity, in reliability, in simplicity.

— Frederick P. Brooks, Jr., “No Silver Bullet

Care About Your Craft

Why spend your life developing software unless you care about doing it well?

— Andy Hunt and Dave Thomas, “The Pragmatic Programmer

Think! About Your Work

Turn off the autopilot and take control. Constantly critique and appraise your work.

— Andy Hunt and Dave Thomas, “The Pragmatic Programmer