1 / 17

Review for Final, Fall 2008

This review session will cover chapters 1-11 and 15, focusing on concepts such as modeling and models, software development activities, project management, requirement analysis, system decomposition, object design, testing, and software life cycle. Prepare to write and draw your solutions clearly.

atrotman
Download Presentation

Review for Final, Fall 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Review for Final, Fall 2008 • Close book, Close notes • 120 Minutes. Tuesday, Dec. 9, 2:45PM • 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 !!

  2. 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

  3. Concepts (cont.) Project Management Handle project schedule Gantt chart Pert chart

  4. UML • Use case 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 ?

  5. 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

  6. System Decomposition • Subsystems and classes • Coupling and cohesion • Layers and Partitions • Architecture styles • Repository • MVC • Client/Server • Peer to Peer • Three-tier

  7. 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

  8. Object Design • Delegation and inheritance • Interface inheritance and implementation inheritance • Design patterns • Adapter • Composite • Proxy • Facade

  9. Class Interface Specification • Type • Signature • Visibility

  10. 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

  11. Testing (cont.) • Component Testing • Unit testing • Integration testing • System testing • Function testing • Structure Testing • Performance testing • Acceptance testing • Installation testing

  12. Software Life Cycle • Waterfall model • V model • Spiral model • Issue-based life cycle model

  13. 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 training software for training car drivers. • 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

  14. 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, above just provides 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%)

  15. Overall Score of Project • 7 Project Report (42%) • Presentation (20%) • Final Report (18%) • Peer evaluation (10%) • Attendance (10%)

  16. Advanced Software Engineering – CSC8350 is not about • Programming • Software Project Developing is about • Design • Modeling • Research

  17. Content of the course The contents of the course are roughly divided into three parts (refer to schedule of lectures) • Software reuse and design patterns. • System modeling and design as exemplified by Discrete Event System Specification (DEVS). • Advanced research topics in software engineering. • For the “advanced topic” part, students will research related literature and present the results to the entire class. • The course will be conducted in a seminar format.

More Related