Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.

Slides:



Advertisements
Similar presentations
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Advertisements

Computer Science Department
Course Overview CSE8313 Object-Oriented Analysis and Design Spring 2015 Dr. LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist University.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication, Part 2.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Example of a Problem Statement: Introduction into.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
1 IS380 Class Agenda 01/11/05 Sock H. Chung 1.Syllabus 2.Chapter 1 3.Introduction 4. Request.
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
James Tam Introduction To Design Patterns You will learn about design techniques that have been successfully applied to different scenarios.
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 5, 2001 Introduction.
April 13, 2004CS WPI1 CS 562 Advanced SW Engineering General Dynamics, Needham Tuesdays, 3 – 7 pm Instructor: Diane Kramer.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
Using UML, Patterns, and Java Object-Oriented Software Engineering Example of a Problem Statement: Introduction into ARENA.
CEN Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi Project Organization.
January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 – Introduction to Software Engineering Spring 2014 Instructor:
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 11, Project Management.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
SYSE 802 John D. McGregor Module 0 Session 1 Course Introduction.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 3, Project Communication.
COMP 523 DIANE POZEFSKY 20 August AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 3, Project Communication.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Tablet PC Capstone CSE 481b Richard Anderson Craig Prince.
SE-308 Software Engineering-II 7th Term SE University of Engineering & Technology Taxila, Pakistan Software Engineering Department.
Introduction to Course MMIS 656 Web Design Technologies.
Course Introduction Software Engineering
Teaching an Object-Oriented Software Development Lifecycle in Undergraduate Software Engineering Education February 27, 2002 Professor Brian Blake Georgetown.
Software Engineering Management Lecture 1 The Software Process.
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 4, Requirements Elicitation.
CEN 4010 First Lecture January 9, 2006 CEN 4010 Introduction to Software Engineering Spring 2006 Instructor: Masoud Sadjadi
MSE Presentation 1 By Padmaja Havaldar- Graduate Student Under the guidance of Dr. Daniel Andresen – Major Advisor Dr. Scott Deloach-Committee Member Dr.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Software Production ( ) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD)
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Project.
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
IST 210: Organization of Data
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
Software Engineering Administrivia September 5, 2001 Joseph Conron Computer Science Department New York University
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
D R A T D R A T ABSTRACT Every semester each department at Iowa State University has to assign its faculty members and teaching assistants (TAs) to the.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Object Oriented Methodology Course Introduction. Objectives A 3-credit hour graduate course explaining the development of object oriented software systems.
11 November 1999Sticky Technology for Augmented Reality Systems Robert Kurian Inspection Team STARS Project Carnegie Mellon University 11 November.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
CS3431-B111 CS3431 – Database Systems I Logistics Instructor: Mohamed Eltabakh
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Advanced Higher Computing Science
Computer Network Fundamentals CNT4007C
Software Engineering Management
CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2007
CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2005
Example of a Problem Statement: Introduction into ARENA
Course Overview CSE8313 Object-Oriented Analysis and Design
EECE 310 Software Engineering
Chapter 1, Introduction to Software Engineering
Introduction to Software Engineering (CEN-4010)
School of Computer Science
Presentation transcript:

Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 2 Software Engineering  Software systems are complex  Impossible to understand by a single person  Many projects are never finished: "vaporware"  The problem is arbitrary complexity  1968 Definition:  Software Engineering means the construction of quality software with a limited budget and a given deadline  Our definition:  Software Engineering means the construction of quality software with a limited budget and a given deadline in the context of constant change  Emphasis is on both, on software and on engineering

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 3 Course format  A Single Semester Course  Lectures: Theoretical foundations and background  Project: Learn how to apply them in practice  Lectures and Project work are interleaved  A Single Project Course  Everybody is working on the same project  Cheating Rule for  You cheat if you do not acknowledge the contribution made by others.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 4 Lecture Overview  Introduction  Objectives of Course  Project  STARS System Problem Statement  Top Level Design  Syllabus  Introduction of People  Administrative Matters

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 5 Objectives of this course  Acquire technical knowledge  Understand difference between program and software product  Be able to reconstruct the analysis and design of an existing software system  Be able to design and implement a subsystem that will be part of a larger system  Acquire managerial knowledge  produce a high quality software system within budget & time  while dealing with complexity and change

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 6 Emphasis is on team-work  Participate in collaborative design  Work as a member of a project team, assuming various roles  Create and follow a project and test plan  Create the full range of documents associated with a software product  Complete a project on time

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 7 How can we accomplish this?  Course Project  STARS: Sticky Technology for Augmented Reality Systems  The 4 R’s:  Real Problem: Increasing cost for producing and accessing technical manuals in F-18 airplanes  Real Client: Lt. Matt Herl, F-18 Program Office, Mark Kramer, Raymond LeBeau from Navy Carderock Lab.  Real Data: Technical manuals, components and databases provided by F-18 Program Office.  Real Deadline: 9 December 1999

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 8 Assumptions and Requirements for this Class  Assumption:  You are proficient in a programming language (Java preferred), but have no experience in analysis or design of a system  You have access to a Web Browser  Course Homepage:  Requirements:  You have taken one of the required courses (Compiler Construction, Operating Systems or Artificial Intelligence)  or  You have practical experience with maintaining or developing a large software system

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 9 Project Goals  Attempt to reduce the cost of logistics support and maintenance while improving or at least maintaining current aircraft readiness.  Implementation of two major processes:  Developing & managing interactive electronic technical manuals  Performing maintenance with advanced capability IETMs.  Demonstration of a conceptual prototype

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 10 Project Management  Coaches:  Bernd Bruegge, Bill Scherlis: Architecture Team  Grace Ritter: Authoring and Work Flow Teams  David Garmire: Modeling Team  Eric Stein: Augmented Reality Team  Zia Syed, Tom Hawley: Inspection Team  Pooja Saksena, Tom Hawley: Repair Team  Communication Infrastructure  Joyce Johnstone (Lotus Notes)  Consultants:  HCI: Jane Siegel, Elaine Hyder, Jack Mofett  Client Liaison: Dick Martin

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 11 Problem Statement  Customer Presentation:  Mark Kramer  Raymond LeBeau  Online Version: 

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 12  STARS Problem Statement:  Sticky Technology for Augmented Reality Systems

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 13 Authoring Workflow Inspection Notification AirplaneModel Software Bus Repair Augmented Reality Basic Software Architecture for STARS Project

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 14 STARS Subsystems  Authoring subsystem: Provides the capability to author and annotate IETMS which can be viewed with a web-based display tool. Interfaces to existing commercial products ACS and AIMSS that provide part of the required functionality.  Work flow subsystem: Provides a review and quality control process for IETM documents submitted by authors. The subsystem also detect changes in IETM documents and notifies the author. The subsystem also notifies mechanics when work orders have been created for them.  Modeling subsystem: Allows authoring of a description of an F18 airplane with a CAD tool, providing different views, such as a wireframe view, that can be overlaid on the real airplane

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 15 STARS Subsystems  Augmented reality subsystem: Provides location information of the airplane with respect to the mobile mechanic performing the maintenance.  Inspection subsystem: provides the capability to do an inspection based on IETM documents. The mechanic adds an annotation ("virtual sticky") to the repair location, by pointing to a specific location at the airplane.  Repair subsystem: provides the capability to perform maintenance procedures described in a work order. Locates the stickies associated with a specific airplane, and to perform the maintenance procedure interactively by using voice input and output.  Notification subsystem: provides a publisher/subscriber mechanism for subscribes of documents and work orders.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 16 Subsystems and Teams  STARS will be developed in a team-based approach  Each subsystem in the software architecture will be mapped on a team  You will be member of one or more teams  Development team (Authoring, Workflow, Modeling, Augmented reality, Inspection, Repair)  Crossfunctional team (Architecture)  You can give us your team preferences when your register for the project.  Deadline: Thursday, Aug 26, 6 pm  Team selection is done by project management and will be announced in class, Tuesday August 31.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 17 Project Milestones  See  External Milestones (with client)  Aug 24: Client Presentation  Nov 5: System Design Review  Dec 9: Client Acceptance Test  Internal Milestones (with project management)  Aug 31: Announcement of Teams  Oct 26&28: Analysis Review  Nov 30: Object Design Review  Dec 7: Dry run of Client Acceptance Test

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 18 Client Acceptance Milestone  The STARS system must be successfully demonstrated on Dec 9, 1999 ( “ Final”)  The acceptance criteria are established in a dialog with the client during the requirements analysis phase  The STARS system will be delivered with the following artifacts on a CD-ROM  Requirements Analysis Document  System Design Document  Object Design Document  Test Manual  Source Code Depot

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 19 Textbooks  Textbook (Required)  Bernd Bruegge and Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems, Prentice Hall,  Available from CMU Bookstore on Oct 1.  Optional Readings  Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns, Addison-Wesley, 1996, ISBN  Ivar Jacobson, M. Christerson, P. Jonsson, G. Övergaard, "Object- Oriented Software Engineering", Addison Wesley, 1992  Grady Booch, "Object-Oriented Design with Applications", Benjamin Cummings,  James Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen, Object-Oriented Modeling and Design, Prentice Hall, 1991

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 20 Readings  Additional readings in syllabus  Check Readings in Course Syllabus on the course home page  Readings due on day of class  Readings not in the textbooks will be made available a week before the lecture  Reading for Thursday: Chapter 2  Available as hard copy and on the web

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 21  Standards  A: 90+  B:  C: (including at least 20 points from lectures and 40 points from project)  D: 40-55, or with wrong proportion of lecture and project points  R: less than 40 Grading  Project  Process and associated deliverables: 35 points  Communication: 10 points  System integration and system delivery: 20 points  Lectures  4 homeworks : 5 points for each of 4 homeworks  Quizzes: 15 points

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 22 What do you have to do right now?  Access the STARS homepage   Read the problem statement:   Register for the project:   Change your password  Deadline for registration is August 26, 6pm

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 23

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 24 Electronic Communication  Web Page:  Course bboards:  Announce: For course announcements  Discuss: For discussion of topics relevant for everyone  Help: 24 hour help desk  Client: Communication with the client  Team Bboards:  Discussion of issues relating to the subsystem developed by the team.  Daily access to these bboards is required.  Access to bboards is restricted to registered students and students on the waiting list:  User Name: Firstname Lastname  Password: First 8 digits of Lastname (if necessary padded with 123…)  Example: Password for “Zia Syed” is “Syed1234”

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 25 Login into the STARS intranet  Access to bboards is restricted to registered students and students on the waiting list:  User Name: Firstname Lastname  Password: First 8 digits of Lastname (if necessary padded with 123…)  Example: Password for “Zia Syed” is “Syed1234”  Note: Password is case sensitive

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 26 What you want to avoid

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 27 If you are successful, you get this

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 28 Fill out your registration form

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 29 If you need help  Questions about Passwords, Logging into the Bboards, Accessing the Home page:  Joyce Johnstone x3803  Before noon: Smith Hall 120  Afternoon: BOM, Building D 154  Questions about the Course  Bernd Bruegge (WeH 4123): August 26 after class  Send mail to  Post your question on the Help bboard  Read the Help Bboard as well