In the Anglo-Saxon world, the term “computer science” does not exist so directly. There, a distinction is made between two subject areas1:
- Computer Science: pertains to programming in various languages, algorithms and data structures as well as theoretical computer science
- Software Engineering: all the rest, i.e. how to use methods and tools correctly, project management methods and tools, project management, clean code principles, tools and instructions for a successful software project.
- Scrum/PO, Unified Process, Continuous Integration, Testing, Requirements, Story Splitting & Mapping, Definition of Done.
- Metrics, “keeper of the scope”, scope creep, effort estimates, Don’t forget something.
- Overview: https://www.agilealliance.org/agile101/subway-map-to-agile-practices/
- Agile Manifesto: https://www.agilealliance.org/agile101/the-agile-manifesto/
Non-functional requirements complement the use cases and domain model.
Typically they are quantity and quality requirements.
- Performance (website response time).
- Quantities (x articles, x concurrent users)
- Security (logging, audit, consistency checks)
- Usability (number of clicks to function, accessibility)
- Uniform appearance along the lines of …
Computer Science: Fundamentals With an Introduction to PASCAL, ISBN-9783642786310. ↩︎