Review for Final, Fall 2010 Close book, Close notes 120 Minutes. Tuesday, Dec. 7, 3:40PM Total 100 pts Scope: chapters 1-11, 15 7 problems – similar style as Quiz1, Quiz2, and midterm exam. Emphasizing on concept understanding and problem analysis Important: write/draw your solutions in a readable way !!
Concepts Modeling and models. Modeling languages such as UML System, software, and model Software engineering development activities requirements elicitation analysis system design object design implementation testing
Concepts (cont.) Project Management Handle project schedule Gantt chart Pert chart
UML Use case diagram Sequence diagram State chart diagram Include Extends generalization Sequence diagram State chart diagram Class diagram Associations generalization/specialization Aggregation composition Deployment diagram Difference and interrelationship between different diagrams. For example: state chart diagram is for single object, sequence diagram is for interactions among multiple objects. How can these two diagrams be related to each other ?
Requirement Analysis and Analysis Object Functions – define main functionalities based upon the problem description Non-functional requirements Based on a description of a system, analyze the main functionalities of the system, and then carry out object analysis Analysis Object Control objects Entity objects Boundary objects
System Decomposition Subsystems and classes Coupling and cohesion Layers and Partitions Architecture styles Repository MVC Client/Server Peer to Peer Three-tier
Address Design Goals Hardware/Software Mapping – deployment diagram Persistent Data Management Database Files Data structure Global Resource Handling and Access Control Access matrix Global Control Flow procedure-driven control event-driven control threads Boundary Conditions Start up and shutdown Exception handling configuration
Delegation and inheritance Object Design Delegation and inheritance Interface inheritance and implementation inheritance Design patterns Adapter Composite Proxy Facade
Class Interface Specification Type Signature Visibility
Testing Test cases Test stubs and drivers Black-box testing – test against specification Equivalence testing Boundary testing White-box testing – test against implementation Path testing – use flow graph to calculate how many independent paths are in the program CC = number of edges – number of nodes +2 Loop testing
Component Testing System testing Testing (cont.) Unit testing Integration testing System testing Function testing Structure Testing Performance testing Acceptance testing Installation testing
Issue-based life cycle model Software Life Cycle Waterfall model V model Spiral model Issue-based life cycle model
The ultimate goal of this class Being able to carry out, or at least understand and appreciate, the different activities involved in a software project development. Work in a group environment Example: Develop a university information management system (like GoSolar). Form teams, develop schedule Talk to the client about the functional requirement, non-functional requirement Which software life cycle to employ Identify the major components and the dynamics of this system Software architecture Database, access control, global control flow, boundary condition Implementation, framework, class library, class specification, design patterns, middleware Debug, testing, system level testing, white box testing, black box testing Installation, Maintenance
Project Presentation Instructor evaluation: 50% Student evaluation (averaged): 50%
Instructor Evaluation of the Project Presentation Content (40%) introduction of the team problem statement requirements (use case model, important sequence/state-chart diagrams, functional and non-functional requirements), design (sub-systems and services, design goals, software architecture, global software control, access control, etc.) Object design and implementation, class diagram design rationale testing etc. Note, the above bullets just provide some ideas. Creativity in both the contents and the format of the presentation are highly encouraged and will benefit your score. Presentation (30%) Talk Slides Dress Demonstration (30%)
Overall Score of Project 7 Project Report (42%) Presentation (20%) Final Report (18%) Peer evaluation (10%) Attendance (10%)