Course Teaching: [SOFTWARE ENGINEERING II] [2011/2012 Session Semester 2]
Course Overview
This course covers the fundamental concepts and principles of software reuse, component-level development, development/design for reuse, development/design by reuse, and design patterns. It includes the definition and explanation of the nature of components, components interfaces, Interfaces as contracts, benefits of components, component design and assembly. It introduces the architecture of component-based systems, middleware, object-oriented paradigm within middleware, component-based software engineering models such as CORBA, COM+, EJB, .NET, Web Services, and also covers component-based computing, API programming, class browsers and related tools, as well as debugging in the API environment.
Course Snapshot
- Credits: [3]
- Audience: [Undergraduates]
- Delivery Mode: [In-person]
- No. of Students: [45]
Teaching Objectives
Explain fundamental concepts, principles and techniques in software reuse specifically on development for reuse, development by reuse and component-level design.
Use API programming and debugging process in component-based computing.
Apply APIs together with components in the development of quality software applications using components-based approach.
Assessment & Student Engagement
- Strategies for Engagement: (discussions, group work, etc.)
Assessment Methods Weighting Quizzes 0% Assignment 50% Project 0% Exam 50%
Reflections
- What worked well:
- What could be improved:
- Student feedback highlights:
Resources
- George T. Heneman, William T. Councill, “Component Based Software Engineering: Putting the Pieces Together”, Addison-Wesley (2001)
- Ivica Crnkovic, Magnus Larsson, “Building Reliable Component-Based Software Systems”, Artech House Publishers (2002)
Testimonials (optional)
If you’ve taken this course and you’re visiting this site, feel free to drop a comment and share your thoughts or experience!