Presentation is loading. Please wait.

Presentation is loading. Please wait.

Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.

Similar presentations


Presentation on theme: "Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science."— Presentation transcript:

1 Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science University of New Brunswick Fredericton, NB, Canada bhavsar@unb.ca

2 Outline Introduction Software Engineering Courses at UNB CS 3013 Software Engineering II - Course Contents - Laboratory - Course Project Conclusion

3 Introduction Why Software Engineering in CS (and ECE and SE) Curriculum? What principles should they learn? What skills should do they learn?

4 Software Eng. Courses @ CS UNB CS 2013 Software Eng. I Prereq. CS 1083 Computer Science Concepts (Java) CS 3013 Software Eng. II Prereq. CS 2013 CS 3503 Systems Analysis and Design Prereq. CS 2513 Introduction to Information Systems CS 4015 Software Architecture and Design Patterns Prereq. CS 3013 CS 4025 Internet-based Software Eng. Prereq. CS 2513 and CS 3013

5 CS 2013 (SE I) (UNB Calendar Description) The analysis and design of complex algorithms and programs with emphasis on the methodology of disciplined programming 1-2 term projects and provides in-depth treatment of a programming language like Java

6 CS3013 (SE II) (UNB Calendar Description) Examines software development processes and management, visual modeling and UML Requirements capture, use case analysis, system design and implementation, components Forward and reverse engineering, software engineering tools, testing techniques, configuration management Project management

7 CS 3013 (SEII): Text/References Text: 'Object-Oriented Software Engineering: Conquering Complex and Changing Systems', B. Bruegge and A. H. Dutoit, Prentice-Hall, 2000. References: - Visual Modeling with Rational Rose 2000 and UML, - Terry Quatrani, Addison-Wesley, Reading, MA, 2000. - - The Unified Modeling Language User Guide by Booch, Rumbaugh, and Jacobson, Addison-Wesley, 1999. - The Unified Software Development Process by Jacobson, Booch, and Rumbaugh, Addison-Wesley, 1999.

8 CS 3013 (SE II): Contents Present Emphasis: Object-Oriented Software Engineering Other possibilities? Prerequisites - Java and Visual Basic - C++ ? - ? Classes: Teach Principles Labs. and Course Project: Skill development

9 CS 3013 (SE II): Contents Introduction to SE Modeling with UML Project Communication Requirements Elicitation Analysis System Design Object Design

10 CS 3013 (SE II): Contents Issues - Too much dependence on (Rational’s) Unified Software Development Process? - Not much time left to cover: rationale management, testing, software configuration management, project management and software life cycle - Other Software Development Models and Processes Capability Maturity Model Personal Software Development Process

11 Software Engineering Lab. Objective: To introduce students to a software engineering tool Rational Rose 2000, Enterprise Edition. Six laboratory sessions (UML diagrams and specifications; reverse engineering; team work on a Rational Rose model and detailed use-case specification; use-case realization in an analysis model; build a design model; build an implementation model) One terminal per person

12 Software Engineering Lab. (cont.) Issues - Other tools for university environments? - Integration with class material Text – that is good for class as well as Lab. Continuity for Lab. Instruction and tool management – markers and Lab. Instructor Large Enrollment (60-70 students)

13 Software Engineering Course Project Group Project – same problem by different groups - different problem by each group E-Commerce applications Task1: Problem Definition Task2 Problem:Initial Requirements Analysis Document Task 3: Building Use-Case Model I ; Prototype UI Task 4: Domain Modeling Task 5:Building Analysis Model (Phase I) Task 6: Building Analysis Model (Phase II) Task 7: Building Design Model and Building Implementation Model Task 8,..: No time left for testing, forward and reverse engineering, etc.

14 Software Engineering Course Project (cont.) Technical Issues: - Group Work: Support available in SE tool (Rational Rose) - Tracking progress of various group members - Synchronization and Communication between group member activities - Prototype UI design: Java Applets; Visual Basic, - Merging work of group members

15 Software Engineering Course Project (cont.) Management/Communication Issues: - Group size: Experiments with 4 and 7-8 - Tracking progress of various groups - Synchronization between classes, labs. and project deadlines - Interaction between group members - Marking/grading projects; Input from group members and group leader - Work Load - Project Presentation

16 Marking Scheme Assignments: 10% Labs:n 5% Team Project: 25% Quizzes 10% Midterm: 15% Final: 35% Relative Grading

17 Conclusion Objectives and Rationale Prerequisites and overlap with other courses Text(s) Tools: Group project and Group Project Student Feedback: academic and industry participants - too much work - interesting - relevant to industries - difficult to relate/integrate lecture material, labs. and apply it to group project


Download ppt "Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science."

Similar presentations


Ads by Google