deck_17619848 Flashcards
(15 cards)
What are the learning objectives?
Understand complexity, techniques, and importance of software engineering.
Why is software complex?
Large codebases and maintenance effort.
What adds complexity to the application domain?
Complex problems, developers not domain experts.
What causes stakeholder communication issues?
Different vocabulary and ambiguous language.
What are project management challenges?
Breaking projects into parts, coordinating teams.
What are common software quality issues?
Unreliable, unsafe, inflexible.
What are development challenges?
Over budget, late, missed requirements.
Why prioritize design goals?
Reduces complexity, focuses on needs.
What is modular development?
Breaking systems into modules with interfaces.
What is information hiding?
Hiding module details to simplify maintenance.
What are modular development benefits?
Productivity, reusability, predictability.
What skills do software engineers need?
Communication, modeling, tradeoffs, teamwork.
What is software engineering?
Using principles to build reliable, efficient software.
What are software engineering activities?
Modeling, problem-solving, learning, decision revisiting.
What is the main goal of software engineering?
Manage complexity and build quality systems.