Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Teaching an Object-Oriented Software Development Lifecycle in Undergraduate Software Engineering Education February 27, 2002 Professor Brian Blake Georgetown."— Presentation transcript:

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

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

3 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

4 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?

5 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

6 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

7 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

8 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

9 Team/Project-level Collaboration

10 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

11 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

12 Class Organization in Software Eng II

13 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

14 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

15 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

16 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


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

Similar presentations


Ads by Google