27
CSC 480 Software Engineering Lecture 1 August 25, 2009

CSC 480 Software Engineering

  • Upload
    iman

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

CSC 480 Software Engineering. Lecture 1 August 25, 2009. Topics. Welcome to CSC 480 Course Roadmap Introduction to Software Engineering. Goals. SE activities and processes Object orientation: concepts and principles Team-based projects leading to working applications - PowerPoint PPT Presentation

Citation preview

Page 1: CSC 480 Software Engineering

CSC 480Software Engineering

Lecture 1August 25, 2009

Page 2: CSC 480 Software Engineering

CSC 480 -- Fall 2004 28/18/2004

Topics

Welcome to CSC 480 Course Roadmap Introduction to Software Engineering

Page 3: CSC 480 Software Engineering

CSC 480 -- Fall 2004 38/18/2004

Goals

SE activities and processes Object orientation: concepts and principles Team-based projects leading to working

applications Team activities and role playing Advanced programming/system development

techniques

Page 4: CSC 480 Software Engineering

CSC 480 -- Fall 2004 48/18/2004

Textbook & References

Object-Oriented Software Engineering Bruegge & Dutoit

Prentice Hall, 2004

Page 5: CSC 480 Software Engineering

CSC 480 -- Fall 2004 58/18/2004

Special Features

Put ideas into realityconceptualization specification high-level and detailed design

implementation & testing next iteration, if needed

Valuable teamwork experience Form a team with a common set of goals Choose a role (or roles) that can match your interest and

talent Respect differences and perform as a whole

Synergy: P(n) > n * P(1)

Healthy competition between teams

Page 6: CSC 480 Software Engineering

CSC 480 -- Fall 2004 68/18/2004

Team Lineup – Couch

Martin Zhao, PhD Teaching Programming, SE, DB & OOAD @ Mercer Engaged in s/w development and integration using

Java technologies Other background -- computer aided design and

modeling

Committed to a enjoyable class experience For both you all and me

Page 7: CSC 480 Software Engineering

CSC 480 -- Fall 2004 78/18/2004

We Want to Know You...

Background: Major Courses taken Strength/interest in computing

Programming/system development experience Career goals Expectations for the class Respond to the questionnaire in the handouts folder

Page 8: CSC 480 Software Engineering

CSC 480 -- Fall 2004 88/18/2004

Team Lineup – Players

CHIP VAN TRAVIS JAMES BRAD ADAM

CLINESA NELU ERIC TIM DERON MICHAEL

Page 9: CSC 480 Software Engineering

CSC 480 -- Fall 2004 98/18/2004

Course Roadmap

Lectures – show you how it works the 1st time Processes & team issues Methodologies (e.g., OOAD using UML) Special topics (e.g., client/server, DB connectivity)

Practices – walk you through the 2nd time Workshops Exposure to new technologies Homework

Topics may not be directly covered in workshops

Page 10: CSC 480 Software Engineering

CSC 480 -- Fall 2004 108/18/2004

Course Roadmap (cont’d)

Team projects –you are on your own the 3rd time OOAD - thinking and using objects Plans, logs, and documentation – doing software

engineering Presentations – talking about S/E formally

Page 11: CSC 480 Software Engineering

CSC 480 -- Fall 2004 118/18/2004

Score BreakdownTeam project 450 points

Individual homework 200 points

One hour exams (2 @ 150 points each)

300 points

Quizzes 50 points

Page 12: CSC 480 Software Engineering

CSC 480 -- Fall 2004 128/18/2004

Introduction

What is Software Engineering? What is the difference?

Computer Science vs. Software Engineering Software Engineering vs. other engineering

What activities are involved?

Page 13: CSC 480 Software Engineering

CSC 480 -- Fall 2004 138/18/2004

The Essence of SE

The essence of software engineering is to deliver high-quality software products that can meet clients’ requirements at agreed cost and schedule.

Page 14: CSC 480 Software Engineering

CSC 480 -- Fall 2004 148/18/2004

Software

Software is not just the programs! A software system usually consists of

Requirement documents Design specifications (diagrams, etc) Programs (code, executables and config data) Installation and user manuals

Page 15: CSC 480 Software Engineering

CSC 480 -- Fall 2004 158/18/2004

Software Is Soft

As described in section 1.2 of your text, SE is A modeling activity: methodologies A problem-solving activity: processes and practices A knowledge acquisition activity: intellectual property A rational-driven activity: constantly changing req’ts

We will discussed the first two areas in detail with lectures and workshops. It’s important to have the mental set of dealing with the softness of software as reflected in the latter two areas

Page 16: CSC 480 Software Engineering

CSC 480 -- Fall 2004 168/18/2004

The Four P’s

The four P’s in software development People – in different roles working in a team Product – the working software system and

associated artifacts Process – a set of activities that is performed in a

certain order toward a special purpose Project – a specific instance of building a software

product

Page 17: CSC 480 Software Engineering

CSC 480 -- Fall 2004 178/18/2004

Relationships Among the 4 P’s

Project

Product

Process

PeopleParticipant

Res

ult

Tem

plat

e

Tools

Automation

Project: People performing Processes to produce Product

Page 18: CSC 480 Software Engineering

CSC 480 -- Fall 2004 188/18/2004

A Closer Look at the 4 P’s

Project

Activity

*

Task

*

WorkProduct

is produced by

Resources

consumes

System

Model

Document

Participant

Time

Equipment

Process

*

Page 19: CSC 480 Software Engineering

CSC 480 -- Fall 2004 198/18/2004

Software Lifecycle Activities

Subsystems

Structured By

class...class...class...

SourceCode

Implemented By

Solution Domain Objects

Realized By

SystemDesign

ObjectDesign

Implemen-tation

Testing

Application

Domain Objects

Expressed in Terms Of

Test Cases

?

Verified By

class....?

RequirementsElicitation

Use CaseModel

Analysis

...and their models

Page 20: CSC 480 Software Engineering

CSC 480 -- Fall 2004 208/18/2004

Software Lifecycle Definition

Software lifecycle: Set of activities and their relationships to each other

to support the development of a software system

Typical Lifecycle questions: Which activities should I select for the software

project? What are the dependencies between activities? How should I schedule the activities?

Page 21: CSC 480 Software Engineering

CSC 480 -- Fall 2004 218/18/2004

Other Basic SE Concepts

Functional requirements Nonfunctional requirements Notation Method Methodologies

Page 22: CSC 480 Software Engineering

CSC 480 -- Fall 2004 228/18/2004

Additional Background Info

Page 23: CSC 480 Software Engineering

CSC 480 -- Fall 2004 238/18/2004

Engineering

The profession in which

a knowledge of the mathematical and natural sciences gained by study, experience, and practice

…...

-- Accreditation Board for Engineering and Technology

Page 24: CSC 480 Software Engineering

CSC 480 -- Fall 2009 248/25/2009

Engineering

The profession in which

a knowledge of the mathematical and natural sciences gained by study, experience, and practice

is applied with judgment

to develop ways to utilize, economically, the materials and forces of nature for the benefit of mankind

-- Accreditation Board for Engineering and Technology, 1996

Page 25: CSC 480 Software Engineering

CSC 480 -- Fall 2004 258/18/2004

Software Engineering

A discipline which Applies mathematical and computer sciences Utilizes (mostly) human intelligence, economically, for

the benefit of mankind Based on greatly wise judgment

Page 26: CSC 480 Software Engineering

CSC 480 -- Fall 2004 268/18/2004

Software Engineering Vs. CS

CS is more on the theoretical side Theories, methods, etc Essential knowledge for software engineers

Software Engineering is practical Applying CS theories and methods Hopefully, in a formal (NOT ad hoc) way

Don’t just learn Software Engineering. Do it!

Page 27: CSC 480 Software Engineering

CSC 480 -- Fall 2004 278/18/2004

Software Vs. Other Engineering

Software is soft Mostly human intellectual effort Need for physical resources (e.g. raw materials) is

usually not the first priority Products are intangible and progress may not be visible With applications in virtual all industries, previous

experience may not be easily adopted