Review for Midterm, Fall 2009 Close book, Close notes 90 Minutes Total 50 pts, will be converted to 20 (for csc4350) and 15 (for csc6350) pts in your final score
Review for Midterm, Fall 2009 Scope: Chapter 1 to Chapter 5 6 problems: 2 concept problems, 4 analysis problems (analysis, and UML diagrams) Emphasizing on concept understanding and system analysis
Concepts What is software engineering? What is modeling? Why do we need to use models? What is a modeling language? System, software, and model
Concepts (cont.) Software engineering development activities requirements elicitation analysis system design object design implementation testing What are the main issues of these stages? What are the differences and relationships between them?
Handle project schedule Gantt chart Pert chart Concepts (cont.) Handle project schedule Gantt chart Pert chart Functional requirements and non-functional requirements Greenfield engineering, reengineering Requirement verifiability, traceability
Concepts (cont.) Object Model and dynamic model Entity, Boundary, and Control Objects – how to identify entity objects, boundary objects, and control objects
UML-Based Analysis Use case diagram Why use case diagram how to draw use case diagrams based on a description of a problem actors, use cases extends, includes, generalization relationships
UML-Based Analysis (cont.) Sequence diagram Why sequence diagram how to draw sequence diagrams based on your analysis of the system actor, boundary objects, control objects, and entity objects and their roles in the sequence diagram Note: the entities involved in a sequence diagram are instances. In other words, two entities that belong to the same class may both appear in a sequence diagram Consider the example that two persons exchange the ownership of their cars.
UML-Based Analysis (cont.) Statechart diagram When to use statechart diagram how to draw statechart diagrams based on your analysis of the system states (initial state, final state), transitions, events, and their roles in the statechart diagram Difference and relationship between statechart diagram and sequence diagram
UML-Based Analysis (cont.) Class diagram how to draw class diagrams based on your analysis of the system. how to identify associations (such as generalization, aggregation, composition) between classes. Multiplicity. How to use qualifier to simplify a one-to-many relationship. how to identify main attributes and operations for a class based on the description of the system. Note: class diagram deals with abstraction. So you may create new classes whenever you think is appropriate. For example, based on some existing classes, you may create a super class for them. Again: consider the example that two persons exchange the ownership of their cars.