IN4MATX 43
why is descriptive architecture often directly modified first? - ✔️✔️sloppy dev, short
deadlines, lack of prescriptive architecture, code optimizations, inadequate techniques
or tool support
use case pros - ✔️✔️map well to design and implementation constructs, make it easy
to verify design and impl against user goals, framed in terms of user goals and flows of
events, user requests and system responses
software engineering - ✔️✔️multi person construction of multi version software
in4matx 43 definition of software engineering - ✔️✔️process of constructing software;
phases of development other than programming, principles and qualities of enduring
value
3 perspectives of software engineering - ✔️✔️business, engineering, design
business perspective - ✔️✔️cost, time, profit
engineering perspective - ✔️✔️internal quality
design perspective - ✔️✔️external quality
essential ingredients of software engineering - ✔️✔️people, process, tools
fundamental principles of software engineering (RAGIS) - ✔️✔️rigor and formality,
anticipation of change, generality, incrementality, separation of concerns (RAGIS)
separation of concerns (3) - ✔️✔️modularity, divide and conquer, abstraction
essential properties of software (4) (CCI) - ✔️✔️complexity, conformity, changeability,
invisibility
no silver bullet topic - ✔️✔️there's no single thing that will improve productivity,
reliability, or simplicity. Software development grows much more slowly than hardware
technology.
false silver bullets - ✔️✔️high level languages, OOP, better workstations and tools
potential silver bullets - ✔️✔️buy vs build, requirement refinement and rapid
prototyping, incremental development, great designers
, software failure causes - ✔️✔️Lack of user input, not using metrics, lack of resources,
changing requirements, incomplete requirements, lack of developer discipline
Ziv's law - ✔️✔️Software development is unpredictable and artifacts will never be fully
understood.
use case - ✔️✔️textual description of a set of actions defining interactions b/w actor
and system to achieve a goal
flow - ✔️✔️sequence of steps describing an interaction b/w a user and a system
types of flows (3) - ✔️✔️basic, alternative, exception
basic flow - ✔️✔️happy day scenario
alternative flow - ✔️✔️goal is achieved but in an alternate way
exception flow - ✔️✔️goal is not achieved
use cases are not good for specifying - ✔️✔️UI, data formats, business rules, non
functional requirements
parts of a use case - ✔️✔️system boundary, actor, use case
actors - ✔️✔️human, hardware, another software system
a use case is a _________ between actors and the system - ✔️✔️dialogue
throughout development, usecases serve as _____ - ✔️✔️unifying thread
communication/understanding - ✔️✔️use cases serve as a __________ tool among
diverse stakeholders
software architecture - ✔️✔️set of principal design decisions about the system
software architecture is the ______ for a software system's construction and evolution -
✔️✔️blueprint
software architecture's elements - ✔️✔️components and connectors, which make up
configurations
components - ✔️✔️data, processing