Software engineering as a problem solving activity

Descrição

FlashCards sobre Software engineering as a problem solving activity, criado por Mikael Caselitz em 02-09-2019.
Mikael Caselitz
FlashCards por Mikael Caselitz, atualizado more than 1 year ago
Mikael Caselitz
Criado por Mikael Caselitz mais de 6 anos atrás
91
0

Resumo de Recurso

Questão Responda
Why is software development difficult o Problem to ambiguous o Requirements change when becoming clearer o Problem domain (application domain) difficult --> Solution domain difficult o Dev. Process difficult to manage o Software = discrete system --> hidden surprises
What are components of software engineering as a problem solving activity - Analysis: Understand problem and break it into peaces - Synthesis: Put pieces back together - Problem solving = creative activity - Tools, techniques and methodologies
Techniques - Produce results using well defined notation E. g. Quick-sort
Methodologies - Collection of techniques applied and unified by philosophical approch - E.g. functional decomposition, object oriented analysis and design
Tools - Instruments/automated systems --> accomplish tech. -E.g. Compiler, Editor, debugger - Integrated developement enviroment(IDE)
Why using Abstraction(with models) o Ignore unessential details o Two def.: - Thought process -> ideas distanced from objects (Abstraction as activity) - Result of thought process (Abstraction as entity)
Models Object Model Functional model Dynamic model System model
Object model For structure - Class diagram -object diagram - Communication diagram - Deployment diagram
Functional model For functions - Scenarios - Use case diagrams
Dynamic model Reaction to external events - Communication diagram - state chart diagram -activity diagram
System model Object + Functional + Dynamic model
Uml diagrams and why to use them Reduce complexity by focusing on abstraction Enabling generation of source code Communication between people
Software developement : activities and their model