What is the role of a software engineer?
First law of software engineering
SE is willing to learn the problem domain.
Is Software engineering complex or complicated?
Complex! consists of many simple parts related to one another.
Complicated implies poorly understood or explained.
Software development methods (Waterfall, Incremental+Iterative, Agile)
WF: Phases and completion of artifacts before proceeding to subsequent phase. Not effective most of the time.
I+I: Break problem into smaller pieces, prioritize. Each iteration progress through development in more depth. Seek customer feedback and change coursed based on better understanding.
A: More aggressive I+I.
Define the Problem Domain
Figure out:
What is a concept map?
Useful for problem domain description.
Expressed in terms of CONCEPTS and PROPOSITIONS
Concept: Perceived regularities in objects, events, ideas. Represented by labels: green, high, acceleration, confused…
Proposition: statement of fact, either true or false (not both), expresses the relation among concepts.
Concept map Ex.
“My friend is coding a new program”
*You can deconstruct a phrase into propositions.
proposition | Concept | Relation | Concept
How to formulate a concept map?