22
CEN 4010 - Fourth Lecture Introduction to Software Engineering Introduction to Software Engineering (CEN-4010) (CEN-4010) Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/Teaching Project Organization and Project Organization and Communication Communication

CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Embed Size (px)

Citation preview

Page 1: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

CEN 4010 - Fourth Lecture

Introduction to Software Engineering Introduction to Software Engineering (CEN-4010)(CEN-4010)

Instructor: Masoud Sadjadi

http://www.cs.fiu.edu/~sadjadi/Teaching

Project Organization and Project Organization and CommunicationCommunication

Page 2: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 2CEN 4010: Introduction to Software Engineering

AcknowledgementsAcknowledgements

Dr. Bernd Bruegge

Dr. Allen Dutoit

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 3: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 3CEN 4010: Introduction to Software Engineering

AgendaAgenda

Motivation

Comm. Events & Mechanisms

Planned Communication

Unplanned Communication

Summary

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 4: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 4CEN 4010: Introduction to Software Engineering

Motivating ExampleMotivating Example

A Communication Example– Two missile electrical boxes manufactured by

different contractors were joined together by a pair of wires.

– Thanks to a particular thorough preflight check, it was discovered that the wires had been reversed.

– After the Crash– The postflight analysis revealed that the contractors

had indeed corrected the reversed wires as instructed.

– In fact, both of them had.

Pair of WiresBox 1 Box 2

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 5: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 5CEN 4010: Introduction to Software Engineering

Communication is importantCommunication is important

In large system development efforts, you will spend more time communicating than coding

A software engineer needs to learn the so-called soft skills: – technical writing– reading documentation– communication– collaboration– management– presentations

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 6: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 6CEN 4010: Introduction to Software Engineering

Term Project ObjectivesTerm Project Objectives

In this course, I ask each of you to (acquire and) demonstrate the following skills:

Management – Run a team meeting

Presentation – Present your contribution to the project during its

development phase.

Collaboration – Negotiate requirements with the client and/or with

members from your team and other teams.

Technical writing– Write part of the documentation of your project.

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 7: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 7CEN 4010: Introduction to Software Engineering

AgendaAgenda

Motivation

Comm. Events & Mechanisms

Planned Communication

Unplanned Communication

Summary

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 8: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 8CEN 4010: Introduction to Software Engineering

Communication EventCommunication Event

Type of information exchange that has defined objectives and scope

Scheduled– Planned communication – For example, review, meeting

Unscheduled– Event-driven communication – For example, request for change, issue clarification,

problem report

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 9: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 9CEN 4010: Introduction to Software Engineering

Communication mechanismCommunication mechanism

Tool or procedure that can be used to transmit information

Synchronous– Sender and receiver are available at the same time.

Asynchronous – Sender and Receiver are not communicating at the

same time.

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 10: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 10CEN 4010: Introduction to Software Engineering

Classification of CommunicationClassification of Communication

Synchronous– Smoke signals

– Hallway conversation

– Meeting

Asynchronous– E-Mail

– Newsgroups

– World Wide Web

– Lotus Notes

is supported by

* *

SynchronousMechanism

AsynchronousMechanism

CommunicationMechanism

UnplannedEvent

PlannedEvent

CommunicationEvent

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 11: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 11CEN 4010: Introduction to Software Engineering

AgendaAgenda

Motivation

Comm. Events & Mechanisms

Planned Communication

Unplanned Communication

Summary

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 12: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 12CEN 4010: Introduction to Software Engineering

Planned Communication Events Planned Communication Events 11

Problem Definition– Objective: Present goals, requirements and constraints.

– Example: Client Presentation.

– Usually scheduled at the beginning of a project.

Project Review: Focus on system model– Objective: Assess status and review system model,

system decomposition, and subsystem interfaces.

– Examples: Analysis Review, System Design Review.

– Scheduled around project milestones and deliverables.

Client Review: Focus on requirements– Objective: Brief client, agree on requirements changes.

– Examples: Client Review.

– Usually scheduled after analysis phase.

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 13: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 13CEN 4010: Introduction to Software Engineering

Planned Communication Events Planned Communication Events 22

Walkthrough (Informal)– Objective: Increase quality of subsystem.– Example: Developer presents subsystem to team

members, informal, peer-to-peer.– To be scheduled by each team.

Inspection (Formal)– Objective: Compliance with requirements.– Example: Client acceptance test (Demonstration of

final system to customer).– To be scheduled by project management.

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 14: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 14CEN 4010: Introduction to Software Engineering

Planned Communication Events Planned Communication Events 33

Status Review– Objective: Find deviations from schedule and

correct them or identify new issues.– Example: Status section in regular weekly team

meeting.– Scheduled every week.

Brainstorming– Objective: Generate and evaluate large number of

solutions for a problem.– Example: Discussion section in regular weekly

team meeting .– Scheduled every week.

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 15: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 15CEN 4010: Introduction to Software Engineering

Planned Communication Events Planned Communication Events 44

Release– Objective: Baseline the result of each software

development activity.– Software Project Management Plan (SPMP)– Requirements Analysis Document (RAD)– System Design Document (SDD)– Object Design Document (ODD)– Test Manual (TM)– User Manual (UM)– Usually scheduled after each phase

Postmortem Review– Objective: Describe Lessons Learned.– Scheduled at the end of the project.

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 16: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 16CEN 4010: Introduction to Software Engineering

AgendaAgenda

Motivation

Comm. Events & Mechanisms

Planned Communication

Unplanned Communication

Summary

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 17: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 17CEN 4010: Introduction to Software Engineering

Unplanned Communication Unplanned Communication EventsEvents

Request for clarification– The bulk of communication among developers, clients

and users. – Example: A developer may request a clarification about

an ambiguous sentence in the problem statement.

Request for change– A participant reports a problem and proposes a solution– Change requests are often formalized when the project

size is substantial. – Example: A participant reports of a problem the air

conditioner in the lecture room and suggests a change.

Issue resolution– Selects a single solution to a problem for which several

solutions have been proposed.– Uses issue base to collect problems and proposals

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 18: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 18CEN 4010: Introduction to Software Engineering

Example of Request for Example of Request for ClarificationClarification

From: AliceNewsgroups: cs413.architecture.discussSubject: SDDDate: Thu, 10 Oct 23:12:48 -0400Message-ID: <[email protected]>MimeVersion: 1.0Content-Type: text/plain; charset=us-ascii

When exactly would you like the System Design Document? There is some confusion over the actual deadline: the schedule claims it to be October 22, while the template says we have until November 7.

Thanks,

Alice

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 19: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 19CEN 4010: Introduction to Software Engineering

Example of a Change RequestExample of a Change Request

Report number: 1291Date: 5/3Author: DaveSynopsis: The STARS client crashes when

empty forms are submitted.Subsystem: User interfaceVersion: 3.4.1Classification: missing/incorrect

functionality, convention violation, bug, documentation error

Severity: severe, moderate, annoyingDescription: <<Description of the problem>>Rationale: <<Why the change should be

done>>Proposed solution: <<Description of desired

change>>

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 20: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 20CEN 4010: Introduction to Software Engineering

Example of Issue BaseExample of Issue BaseOvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 21: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 21CEN 4010: Introduction to Software Engineering

AgendaAgenda

Motivation

Comm. Events & Mechanisms

Planned Communication

Unplanned Communication

Summary

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary

Page 22: CEN 4010 - Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi sadjadi/Teaching Project Organization

Fourth Lecture 22CEN 4010: Introduction to Software Engineering

SummarySummary

Communication Events– Planned– Unplanned

Communication Mechanisms– Asynchronous– Synchronous

Important events and mechanisms– Weekly meeting– Project reviews– Online communication (discussion forum, email,

web)

OvervieOverview:w:Motivation

Events & Mech.

Planned Commu.

Unplanned Com.

Summary