Teaching an Object-Oriented Software Development Lifecycle in Undergraduate Software Engineering Education February 27, 2002 Professor Brian Blake Georgetown.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

Object-Oriented Analysis and Design LECTURE 3: REQUIREMENTS DISCIPLINE.
© Devon M.Simmonds, 2007 CSC 550 Graduate Course in Software Engineering ______________________ Devon M. Simmonds Computer Science Department University.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Object-Oriented Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Teaching Software Engineering Through Game Design Kajal ClaypoolMark Claypool UMass LowellWPI.
SE 470 Software Development Processes James Nowotarski 21 April 2003.
SIM SOFTWARE ARCHITECTURE Instructor: Masrah Azrifah Azmi Murad, PhD Room: C masrah.azrifah [at] gmail.com OR masrah [at] fsktm.upm.edu.my.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Fundamentals of Information Systems, Second Edition
© Copyright Eliyahu Brutman Programming Techniques Course.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Review 1.
Object Oriented Analysis and Design Using the UML
Project Management and Scheduling
Using UML to report results of project management for information systems projects Donna M. Gavin MMIS 621 Information Systems Project Management Assignment.
Lesson 1 Week01.
NMSU Pathways Workshop September 18-20, 2014 Design Thinking, Low Res Prototyping, Assessment and ABET Mashup.
6.191 Introduction Master of Engineering Thesis Project Program Prototyping Research Results Charles G. Sodini, Howard E. Shrobe, Arthur C.M. Chen.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 11, Project Management.
Twelfth Lecture Hour 10:30 – 11:20 am, Saturday, September 15 Software Management Disciplines Project Organization and Responsibilities (from Part III,
1 WEB Engineering Introduction to Electronic Commerce COMM1Q.
Rational Unified Process Fundamentals Module 4: Disciplines II.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Information System Development Courses Figure: ISD Course Structure.
Approaching a Problem Where do we start? How do we proceed?
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
9 Systems Analysis and Design in a Changing World, Fourth Edition.
System Context and Domain Analysis Abbas Rasoolzadegan.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Rational Unified Process Fundamentals Module 3: Disciplines I.
A DESIGN AND IMPLEMENTATION COURSE FRAMEWORK: A CURRICULUM PROPOSAL FOR AN EXPERIENTIAL APPROACH TO THE SYSTEMS ANALYSIS AND DESIGN AND THE PROJECTS IN.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirements Analysis
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Introduction to OPEN Sidney Nogueira 12/11/2003.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Engineering Lecture 10: System Engineering.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Object Oriented Analysis & Design By Rashid Mahmood.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
By: Wilmer Arellano.  1. Form a team  2. Find a Team Leader  3. Find Three Potential Topics  4. Find a Mentor  5. Select a Topic.
Introduction to UML.
Week 10: Object Modeling (1)Use Case Model
CS & CS Capstone Project & Software Development Project
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Teaching an Object-Oriented Software Development Lifecycle in Undergraduate Software Engineering Education February 27, 2002 Professor Brian Blake Georgetown University

Presentation Agenda Motivation for this Teaching Approach Two-Course Teaching Approach Innovation of this Approach Course Details Results and Future Courses

Initial Problems Horizontal and Vertical specialization is unrealistic in one semester’s timeframe Breadth of OO software development topics –Software and systems issues, database systems, OO models, programming languages, networking, GUI Depth of necessary knowledge for project management Communication and Collaboration Skills Role-based concerns paired with Domain analysis issues

Problems (continued) How can students be, at least, introduced to all aforementioned concerns ? Can students understand cross-functional collaboration and concerns ? How can soft-skills be introduced without losing the technical focus? How can a real programming project be integrated within the time constraints?

A Two-Course Approach We take a Two course approach Software Engineering I –Focus on: »Domain analysis and requirements elicitation »Software analysis, design, and modeling »Introduction to developmental technical issues »Cross-functional technical issues Software Engineering II »OO Software Development Lifecycle and concerns »Briefly, software engineering issues (reliability, traceability, etc.) »Semester-long simulation that culminates all training

Other Relevant Approaches This approach is application development- intensive Other similar approaches Software-enacted Simulation (References in Paper) The Real World Lab at Georgia Institute of Technology The Studio at Carnegie Mellon University PSP/TSP Training

Uniqueness of this Approach Students focus on analysis/design and application development independently Project contained within a semester Students can experience the entire lifecycle Other Lab-based approaches give a snapshot Use and enforce industry-standard modeling techniques

Uniqueness of this approach Like PSP/TSP –Focus on team-based collaboration –Build collaboration skills in context of software development In Addition –In context of a full semester as opposed to week-long course –An actual software application is developed –Organizational roles are instituted –Team and Project level collaboration

Team/Project-level Collaboration

Topics in Software Engineering I  History and Introduction of Software Engineering  Introduction Software Design and Object-Oriented Analysis and Design  Requirements Elicitation and Use Cases  Introduction of Semester Design Projects  The Object Modeling Technique (OMT) paralleled with the Rational Unified Process (RUP) [7]  Introductions to the Unified Modeling Language  Problem Statements/Written Scenarios  Activity Diagrams to clarify Use Cases  Static Modeling – Object Models  Dynamic Modeling – Sequence Diagrams/Event Traces, Collaboration Diagrams, Global Event Flows  Functional Modeling (a thing of the past?) – Data Flow Diagrams and Activity Diagrams  Deployment Diagrams and Models  Object-Oriented Design Patterns  Emerging Software Designs for Workflow, Event-Based Systems, and Real- Time  Object Oriented Modeling Project

Software Engineering II Syllabus Timeframe Focus and Deliverables Week 1: Introduction and Review Review of Software Engineering and Object Technology (Software Engineering I) Week 2-3: Software Architecture and the Software Development Lifecycle Software Architecture (History and Different Types [11]), The Software Development Lifecycle, Introduction to the Rational Unified Process [6], Students Interview for desired positions Week 4: Project Initiation Functional responsibilities in the Life-cycle, Developmental Terminology, Org Charts, Project procedures and milestones Gantt chart overview and demonstration (Microsoft Project) Week 5: Conceptualization Problem Statement Formation Proposed System Design, Requirements Elicitation introduction Week 6-7: Elicitation Requirements Elicitation, System Design Requirements Delivery, Finalize Problem Statement, Requirements, and System Design Week 8: Software Design Focus: Use Case Models, Scenarios, and Class Diagrams Week 9: Software Design Focus: Class Diagrams and Dynamic Models, User Interface Design Week 10: Software Design Focus: Deployment and Component Models, Wrap up pre-development designs Week 11: Development Coding/Spiral Development Week 12: Development Coding/Spiral Development Week 13: Development and Testing Coding/Spiral Development, Test Case Generation Week 14: Development and Testing Finish Coding, Start Testing Week 15: Deployment and Documentation Code Freeze, Complete Testing, Finish all Documentation Week 16: Executive Presentation Open Presentation to Faculty, Students, and Industry Stakeholders, Deliver Documentation

Class Organization in Software Eng II

Concept of Evolving Roles Stolen from the operation of Small-to- Medium (SME) organizations Teams and individuals have to extend further than there pre-defined roles in order to cover all developmental areas We have come up with a way to utilize students in multiple roles for all of the developmental activities Role assignments are consistent with student career goals and desires

Evolving Roles Critical PathAnalysisDesignDevelopersDatabase Conceptual- ization XOrg ChartConfiguration Management for Documents Database Survey Problem AnalysisXWeb PageTechnology Survey Collecting Pre-existing Data Requirements Elicitation XXSet-up Development Environment and Configuration Management for Code Set-up Database Environment System DesignAssuring Require- ments XPrototyping X Set up Database Connection Software and Database Design Test CasesXXX DevelopmentTest ScriptsX User Manual XX TestingXDesign DocumentsXX DocumentationXXXX

Course Results and Evaluation Students were very fond of the course –Evaluations were < 4.5 (5 point scale) –SEI(Fall1999) 18 students,SEI(Fall2000) 20 students –SEII(Spring 2001) 14 students –Students took ownership of the project –Industry participated in development process and results(The MITRE Corporation) –Alumni students were pleased with the big picture perspective and breadth of topics

Future Plans Students tend to meet in groups twice week by there own “ad-hoc” meetings –Evaluating the feasibility of a 4 th hour as lab time in Software Engineering II Next Software Engineering II –Air-Traffic Simulation-based project