Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced...
-
Upload
gerald-gilbert -
Category
Documents
-
view
217 -
download
2
Transcript of Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced...
Issues in Teaching Software Engineering
Virendra C. BhavsarProfessor and
Director, Advanced Computational Research Laboratory
Faculty of Computer Science
University of New Brunswick
Fredericton, NB, Canada
OutlineOutline
IntroductionSoftware Engineering Courses at UNBCS 3013 Software Engineering II- Course Contents- Laboratory- Course ProjectConclusion
IntroductionIntroduction
Why Software Engineering in CS (and ECE and SE) Curriculum?
What principles should they learn?
What skills should do they learn?
Software Eng. Courses @ CS UNBSoftware 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
CS 2013 (SE I)CS 2013 (SE I)(UNB Calendar Description)(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
CS3013 (SE II)CS3013 (SE II)(UNB Calendar Description)(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
CS 3013 (SEII): Text/ReferencesCS 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.
CS 3013 (SE II): ContentsCS 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
CS 3013 (SE II): ContentsCS 3013 (SE II): Contents
Introduction to SE Modeling with UML Project Communication Requirements Elicitation Analysis System Design Object Design
CS 3013 (SE II): ContentsCS 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
Software Engineering Lab.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
Software Engineering Lab. (cont.)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)
Software Engineering Course Project 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.
Software Engineering Course Project Software Engineering Course Project (cont.)(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
Software Engineering Course Project Software Engineering Course Project (cont.)(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
Marking SchemeMarking Scheme Assignments: 10% Labs:n 5% Team Project: 25% Quizzes 10% Midterm: 15% Final: 35% Relative Grading
ConclusionConclusion 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