Upload
kathleen-manning
View
213
Download
1
Embed Size (px)
Citation preview
CSC 480Software Engineering
Lecture 1August 18, 2004
CSC 480 -- Fall 2004 28/18/2004
Topics
Welcome to CSC 480 Course Roadmap Introduction to 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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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!
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
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.
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