21
CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 Software Engineering Lecture 1 August 18, 2004

Embed Size (px)

Citation preview

Page 1: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480Software Engineering

Lecture 1August 18, 2004

Page 2: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 28/18/2004

Topics

Welcome to CSC 480 Course Roadmap Introduction to Software Engineering

Page 3: CSC 480 Software Engineering Lecture 1 August 18, 2004

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 Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 48/18/2004

Textbook & References

Object-Oriented Software Engineering: Using UML, Patterns, and Java, 2nd Ed. Bruegge & Dutoit.

Prentice Hall, 2004

Page 5: CSC 480 Software Engineering Lecture 1 August 18, 2004

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: C(n) > n * C(1)

Healthy competition between teams

Page 6: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 68/18/2004

Team Lineup – Couch

Martin Zhao, PhD Teaching Prog, 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 Lecture 1 August 18, 2004

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 Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 88/18/2004

Team Lineup – Players

Belyeu, Jesse Brothers, Anthony D Carlton, Cassie Cartwright, Charles Chatham Charles Collier, Thomas Destevens, Lucas

Page 9: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 98/18/2004

Team Lineup – Players (cont’d)

Edmonds, Christopher Fincher, Robert Wesley Gibby, Patrick A Hartley, Drew N. Lo, Jason Thurman, Willie

Page 10: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 108/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., multithreading, DB connectivity)

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

Topics may not be directly covered in workshops

Page 11: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 118/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 12: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 128/18/2004

Score Breakdown

Team project 450 points

Individual homework 100 points

Workshops 100 points

One hour exams (3 @ 100 points each)

300 points

Quizzes 50 points

Page 13: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 138/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 14: CSC 480 Software Engineering Lecture 1 August 18, 2004

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 Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 158/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 16: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 168/18/2004

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 17: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 178/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 18: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 188/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 19: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 198/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

Page 20: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 208/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 21: CSC 480 Software Engineering Lecture 1 August 18, 2004

CSC 480 -- Fall 2004 218/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