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

Slides:



Advertisements
Similar presentations
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Advertisements

CS2013 Software Engineering I Fall Term Class Time: MWF 11:30am - 12:20pm Class Room: H 301 Tutorial/Lab Time: M 2:30 – 3:20pm Tutorial Room:
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
IS6112 Application Modelling and Design Introduction.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
General information CSE 230 : Introduction to Software Engineering
CMSC 132: Object-Oriented Programming II
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
CS565 Advanced Software Development (1 unit) Lecturer: Adrian O’Riordan Contact: is Office: prefab, behind.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
03/12/2001 © Bennett, McRobb and Farmer Development Process Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 5, 2001 Introduction.
Itntroduction to UML, page 1 Introduction to UML.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style ADVANCED PROGRAMING PRACTICES Introduction.
Requirements Management Course Plan System Group Company – Training Department By: Dr. Ahmad Abdollahzadeh.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES Presenter: Jingzhou Li Depart of ECE, University of Calgary,
CMSC 345, Spring CMSC 345 Software Design and Development Spring 2003 Section 0101 Ms. Susan Mitchell “Welcome to the School of Hard Knocks”
Course Introduction Software Engineering
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
CEN 4010 First Lecture January 9, 2006 CEN 4010 Introduction to Software Engineering Spring 2006 Instructor: Masoud Sadjadi
CS206 System Analysis and Design Note 1 By ChangYu 1 Course Information Lecturer NameCHANG YU Web sitewww.chuhai.edu.hk/changyu/
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object-Oriented Analysis and Design Ruonan Rao.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
CMSC 345, Fall CMSC 345 Software Design and Development Fall 2003 Section 0101 Ms. Susan Mitchell Leave Your Ego at the Door!
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
© 2010 Bennett, McRobb and Farmer1 Development Process Based on Chapter 5 Bennett, McRobb and Farmer Object Oriented Systems Analysis and Design Using.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Teaching Systems Analysis and Design in a Practical Way: A Collaborative Effort Between Computer Science and Business School by Ken Surendran-CS Chellappa.
Fall 2011 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 30,
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
I Copyright © 2007, Oracle. All rights reserved. Module i: Siebel 8.0 Essentials Training Siebel 8.0 Essentials.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Object Oriented Analysis and Design 1 CREATED BY RUONAN RAO Object-Oriented Analysis and Design.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Fundamentals of Software Engineering. Instructor: Dr. Kal Bugrara Office: Snell Engineering, Rm 267 Office Hours: Sat: 12:00-2:00 pm Phone
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
1 CS 425 / 625 Software Engineering Fall 2003 Course Syllabus August 25, 2003.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Development Process Based on Chapter 5 Bennett, McRobb and Farmer
Advanced Programing practices
Introduction to UML.
INTERNATIONAL BURCH UNIVERSITY
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Two part course Software Engineering option only!
Chapter 1, Introduction to Software Engineering
Introduction To software engineering
Introduction to Software Engineering
CSS-304: Computer Systems Interface
Advanced Programing practices
CMSC 345 Software Design and Development Spring 2004 Sections 0101 & 0201 Ms. Susan Mitchell Leave Your Ego at the Door! CMSC 345, Spring 2004.
Presentation transcript:

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

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

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

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

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

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

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

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.) 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 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 (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 (cont.) Management/Communication Issues: - Group size: Experiments with 4 and 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 Scheme Assignments: 10% Labs:n 5% Team Project: 25% Quizzes 10% Midterm: 15% Final: 35% Relative Grading

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