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)