Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication, Part 1.

Slides:



Advertisements
Similar presentations
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management.
Advertisements

Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Computer Science Department
EGR Defining the Project Step 1:Define the project scope Step 2:Establishing project priorities Step 3:Create the work breakdown structure Step.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication, Part 2.
Chapter 2 The Analyst As Project Manager In Managing Information Systems 2.3.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3.1.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Example of a Problem Statement: Introduction into.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Project Management.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project 3.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Project Management and Communication Represented by: Latifa Jaber Al-Ghafran.
What is a project? Project Management Institute definition
Chapter 11, Project Management
Nov. 13, 2003CS WPI1 CS 509 Design of Software Systems Lecture #11 Thursday, Nov. 13, 2003.
Object-Oriented Software Engineering
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java Project Management Introduction Using UML, Patterns,
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 21, 2001 Project.
Using UML, Patterns, and Java Object-Oriented Software Engineering 14.2 Work Breakdown Structures Camp III Camp II Camp I.
Copyright 2002 Prentice-Hall, Inc. Managing the Information Systems Project 3.1 Chapter 3.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Computer System Analysis
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Copyright © 2013 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Using UML, Patterns, and Java Object-Oriented Software Engineering Configuration & Build Management Work Breakdown Structures.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Quick Recap.
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 Art for Chapter 3, Project Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Meeting Management with Scrum.
Using UML, Patterns, and Java Object-Oriented Software Engineering 14.2 Work Breakdown Structures Camp III Camp II Camp I.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Common Activities Activities and Tasks in the WBS.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies Extreme Programming.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Project.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project 3.1 Modern Systems Analysis and Design.
Information Systems System Analysis 421 Chapter 3 Managing the Information Systems Project.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Chapter 3 Managing the Information Systems Project 3.1.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Chapter 2 Managing the Information Systems Project 2.1.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Engineering Economics Lecture 18 Project Management 6 January 2010.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Team-Based Development ISYS321 Managing the Information Systems Project.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Chapter 3, Project Organization and Communication, Part 1
Chapter 3 Managing the Information Systems Project
Project Management Processes
IEEE Std 1074: Standard for Software Lifecycle
Chapter 3 Managing the Information Systems Project
Project Management.
Chapter 3 Managing the Information Systems Project
Chapter 1, Introduction to Software Engineering
Risk Analysis & Success Driven Project Management
Project Management Process Groups
Project Management Processes
Chapter 3 Managing the Information Systems Project
Definition of Project “An organized endeavor aimed at accomplishing a specific non-routine or low-volume task.” Definition of Project Management “The.
Presentation transcript:

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication, Part 1

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 How it should go Requirements Analysis Design Implementation System Testing Delivery and Installation

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 How it often goes Requirements Analysis D E L A Y Vaporware Bananaware ripes with the Customer

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Laws of Project Management Projects progress quickly until they are 90% complete Then they remain at 90% complete forever If project content is allowed to change freely, the rate of change will exceed the rate of progress Project teams detest progress reporting because it manifests their lack of progress Murphy’s law: “When things are going well, something will go wrong” “When things just can’t get worse, they will” “When things appear to be going better, you have overlooked something.”

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Lecture Outline Project Definition Project Organization Roles Tasks & Activities Work Product & Deliverables Focus of this lecture Understand project management concepts from the developer’s perspective

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Project Definition A project is an undertaking, limited in time, to achieve a set of goals that require a concerted effort A project includes A set of deliverables to a client A schedule Technical and managerial activities required to produce and deliver the deliverables Resources consumed by the activities (people, budget) Focus of project management Administer the resources Maintain accountability React to change Make sure, the goals are met.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Simple Object Model of a Project Project DeliverablesScheduleActivityResource

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 Refinement of the Model * Resource Participant Fund Equipment Schedule Task * Activity con- Facility * Staff DepartmentTeam produces Work Set of Work * ProductProducts * Internal Project Work respon- sumes Package Role * des- * cribes Deliverable sible plays for Organi- zation Structure * * depends Work Product Project Function Project Outcome Work Organizational Unit Work Breakdown

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 Dynamic Model of a Project Definition do/Define Scope Start do/Assign Tasks Steady State do/Develop System Termination do/Deliver System Tasks Assigned Scope Defined System Done

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 Project Organization A project organization defines the relationships among resources, in particular the participants, in a project A project organization should define Who decides (decision structure) Who reports their status to whom (reporting structure) Who communicates with whom (communication structure) TeamParticipantOrganization **

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Example of a Communication Structure UserInterface :Team Database :Team Control :Team communicateStatus() communicateDecision() communicateStatus() Management :Team

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Reporting vs. Communication Reporting supports project management in tracking project status What work has been completed? What work is behind schedule? What issues threaten project progress? Reporting along the hierarchy is not sufficient when two teams need to communicate A communication structure is needed A participant from each team is responsible for facilitating communication between both teams Such participants are called liaison

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Example of a Communication Structure UserInterface :Team Sam :Developer Implementor Alice :Developer Management: Team Team leader communicates Architecture: Team John :Developer API engineer communicates Editor Documentation: Team Mary :Developer communicates Chris :Developer Implementor Testing: Team communicates Role Interface with other team

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14 Hierarchical Project Organization Chief Executive First Level Manager (“Front-Line Manager”) Project Members Basis of organization: Complicated information and control flow across hierarchical boundaries Basis of organization: Complicated information and control flow across hierarchical boundaries A B A wants to talk to B: Information Flow A wants to make sure B does a certain change: Controlflow

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15 Peer-To-Peer Communication Project Leader Coaches Team Members Basis of organization: Nonlinear information flow across dynamically formed units Basis of organization: Nonlinear information flow across dynamically formed units Subsystem Team AB A wants to make sure B does a certain change: Simple Controlflow A wants to talk to B: Simple Information Flow

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16 Role A role defines a set responsibilities (“to-dos”) Examples Role: Tester Write tests Report failures Check if bug fixes address a specific failure Role: System architect Ensure consistency in design decisions and define subsystem interfaces Formulate system integration strategy Role: Liaison Facilitate communication between two teams.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17 Types of Roles in Software Organizations Role Liaison Consultant Manager Developer Configuration Manager Document Editor Tester API Engineer Team Leader Project Manager Application Domain Expert Solution Domain Expert End User Client

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18 Responsibilities are assigned to Roles, Roles are assigned to People “To Do” List for the Project Item 1 Item 2 Item 3 Item 4 Item 5 Item 6 Item 7 Item 8 Item 9 Item 1 Item 2 Item 9 Role 1 Item 4 Item 5 Item 7 Role 2 Item 3 Item 6 Item 8 Role 3 Person A Role 1 Role 2 Person B Role 3 Team A.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19 Possible Mappings of Roles to Participants One-to-One Ideal but rare Many-to-Few Each project member assumes several "hats" Danger of over-commitment Need for load balancing Many-to-"Too-Many" Some people don't have significant roles Lack of accountability Loosing touch with project

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20 Task A task describes the smallest amount of work tracked by management Typically 3-10 working days effort Tasks descriptions Role Work product Start date Planned duration Required resources.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21 Example: Tasks for building a House SurveyExcavate Buy Material Lay Foundation Build Outside Wall Request Permits SurveyExcavate Buy Material Lay Foundation Build Outside Wall Request Permits FINISH Install Interior Plumbing Install Interior Electrical Install Wallboard Paint Interior Install Flooring Install Exterior Plumbing Install Exterior Electrical Install Exterior Siding Paint Exterior Install Roofing Install Exterior Doors Install Interior Doors

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22 Example: Tasks for building a house START Request Permits SurveyExcavate Buy Material Lay Foundation Build Outside Wall FINISH Install Interior Plumbing Install Interior Electrical Install Wallboard Paint Interior Install Flooring Install Exterior Plumbing Install Exterior Electrical Install Exterior Siding Paint Exterior Install Roofing Install Exterior Doors Install Interior Doors FINISH

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23 Tasks and Work Packages A task is specified by a work package Description of work to be done Preconditions for starting, duration, required resources Work products to be produced, acceptance criteria for it Risks involved A task must have completion criteria Includes the acceptance criteria for the work products (deliverables) produced by the task.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24 Work Products A work product is a visible outcome of a task Examples A document A review of a document A presentation A piece of code A test report Work products delivered to the customer are called deliverables

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 25 Task Sizes Tasks are decomposed into sizes that allow monitoring You may not know how to decompose the problem into tasks at first Depends on the nature of work and how well task is understood. Finding the appropriate size is crucial To-do lists from previous projects Each software development activity identifies more tasks and modifies existing ones.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 26 Activities Major unit of work Culminates in a major project milestone: Scheduled event used to measure progress Internal checkpoints should not be externally visible A project milestone usually produces a baseline Activities are often grouped again into higher- level activities with different names: Phase 1, Phase 2 … Step 1, Step 2 … Allows separation of concerns Precedence relations can exist among activities Example: “A1 must be executed before A2”

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 27 Example: Activities for Building a House START Request Permits SurveyExcavate Buy Material Lay Foundation Build Outside Wall FINISH Install Interior Plumbing Install Interior Electrical Install Wallboard Paint Interior Install Flooring Install Exterior Plumbing Install Exterior Electrical Install Exterior Siding Paint Exterior Install Roofing Install Exterior Doors Install Interior Doors

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 28 Example: Activities for Building a House START Request Permits SurveyExcavate Buy Material Lay Foundation Build Outside Wall FINISH Install Interior Plumbing Install Interior Electrical Install Wallboard Paint Interior Install Flooring Install Exterior Plumbing Install Exterior Electrical Install Exterior Siding Paint Exterior Install Roofing Install Exterior Doors Install Interior Doors Build Outside Wall Finish Exterior Finish Interior Establish Foundation START FINISH

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 29 Examples of Software Engineering Activities Planning Requirements Elicitation Analysis System Design Object Design Implementation Testing Delivery

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 30 Associations between Tasks, Activities, Roles, Work Products, and Work Packages 1 * TaskActivity Unit Of Work Work PackageWork Product describes results in Role assigned to * 1

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 31 Summary Projects are concerted efforts towards a goal that take place within a limited time Project participants are organized in terms of teams, roles, control relationships, and communication relationships. An individual can fill more than one role. Work is organized in terms of tasks assigned to roles and producing work products.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 32 Backup Slides