Exam 1 Review

 

Software Engineering:

-         fundamental challenges to SE

-         Relationship between costs and when errors are introduced

 

-         Process models (e.g., waterfall/lifecycle, spiral, prototype, ec.)

 

Advantages/disadvantages of each process model

 

-         Definition Stage:

-         Implementation Stage

-         Maintenance Stage:

-         CMM: Capability Maturity Model (5 levels)

 

General Information:

-         Programming Paradigms: (4)

 

Use Cases:

-         what are they?

-         What are they used represent?

-         Process for creating? (System boundary first)

o       Know what use cases represent

o       What types of relationships between use cases

 

Requirements: (vs constraints vs assumptions)

What questions? Environment, users, stakeholders, priorities, goals, performance constraints, data, processing/computations to be applied to data (what functionality)

 

Why questions? Provides context for the What questions/answers; helps with prioritization.

 

Class diagrams: (classes related by 3 types of associations)

-         association: (multiplicities, name, directionality, roles, link attributes)

-         aggregation (part-of)

-         inheritance/generalization (is-a)

 

Give structure

Behavioral diagrams:

-         Sequence (isomorphic to collaboration)

o       Objects against time

         Used for capturing use cases, scenarios

-         States : an abstraction of attributes and links

o       Simple states

o       Composite states (hierarchical, concurrent)

 

State diagram captures the behavior for a given object

o       Transitions (event, guard, actionlist)