Software Engineering Flashcards

1
Q

What is the role of a software engineer?

A
  • Develop software solutions to achieve business goals.
  • Understand customer needs and create best design.
  • Quickly learn new and diverse disciplines and business processes.
  • Design a solution
  • Learn how to learn.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

First law of software engineering

A

SE is willing to learn the problem domain.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Is Software engineering complex or complicated?

A

Complex! consists of many simple parts related to one another.

Complicated implies poorly understood or explained.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Software development methods (Waterfall, Incremental+Iterative, Agile)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define the Problem Domain

A

Figure out:

  • System to develop
  • Actors
  • Concepts/objects (agents working in the system)
  • Use Cases.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a concept map?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Concept map Ex.
“My friend is coding a new program”

*You can deconstruct a phrase into propositions.

A

proposition | Concept | Relation | Concept

  1. | I | Have | Friend
  2. | Friend | engages in | coding
  3. | Coding | constructs a | program
  4. | program | is | new
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How to formulate a concept map?

A
  1. List all concepts that can be identified in a problem domain.
  2. Create a table leaving relation empty.
  3. Come up with relations among concepts.
  4. Some concepts are related to several others.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly