CSC 480 Software Engineering Lecture 1 August 21, 2002.
-
Upload
martina-pearson -
Category
Documents
-
view
215 -
download
1
Transcript of CSC 480 Software Engineering Lecture 1 August 21, 2002.
CSC 480Software Engineering
Lecture 1August 21, 2002
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
Software Engineering: An Object-Oriented Perspective Eric J. Braud. Wiley & Sons, 2001
Software Development for Small Teams: An RUP-Centric Approach
Gary Pollice et al. Addison-Wesley, 2003 Introduction to the Personal Software Process (PSP), & Introduction to the Team Software Process (TSPi)
Watt S. Humphrey. Addison-Wesley, 1997 & 2000
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 @ two IT
startups 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
CSC 480 -- Fall 2004 88/18/2004
Team Lineup – Players
Baptiste, Derrick Boisclair, William C Doriot, Clint Dykes, Dawn C Haeusler, Peggy Haney, Ricky L Longsdorf, Thomas W Luong, Quang V Michael, Jason
CSC 480 -- Fall 2004 98/18/2004
Team Lineup – Players (cont’d)
Nance, Micah A Palmer, Timothy F Rogers, Charlie R Roper, Adam R Scott, Dejuan Smith, Joshua A Thorogood, Charles Wesson, Jamerson D Young, Nathan S
CSC 480 -- Fall 2004 108/18/2004
Course Roadmap
Lectures Processes & team issues (PSP, TSPi, RUP) Methodologies (e.g., OOAD using UML) Special topics (e.g., GUI, client-server)
Practices – Do Software Engineering! Individual and team projects (or workshops) Logs, documentation, and presentations
CSC 480 -- Fall 2004 118/18/2004
Individual Assignments
Programs Essential PSP training
Homework Topics may not be directly applicable to projects in
class
Workshops Exposure to new technologies
CSC 480 -- Fall 2004 128/18/2004
Team Assignments
Teams each with four or five developers Team formation and project selection
Project kick-off and planning Specification and design Implementation and testing Presentation and demonstration Postmortem – process and peer review
CSC 480 -- Fall 2004 138/18/2004
Weekly Timesheet
Track your work from Friday to Thursday Turning in your first timesheet by 08/27 (the 2nd
Friday) Weekly Summary Form
Class cycle: Friday to Thursday Major accomplishments (up to three) Issues/problems (up to three) Turn in printouts and keep your record
CSC 480 -- Fall 2004 148/18/2004
Score Breakdown
Team project 400 points
Individual homework and programming assignments
150 points
One hour exams (2 @ 100 points each)
200 points
Quick quizzes 50 points
Final exam 200 points
CSC 480 -- Fall 2004 158/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 168/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 178/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 188/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 198/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 208/18/2004
Software Engineering Vs. CS
CS is more one 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 218/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 228/18/2004
Essential Activities
Describing the intended software product Designing the product Implementing the product (i.e. programming it)
Testing the parts of the product Integrating the parts and testing them as a whole Maintaining the product
CSC 480 -- Fall 2004 238/18/2004
Essential Activities (cont’d)
Defining the software development process to be used
Managing the development project
CSC 480 -- Fall 2004 248/18/2004
The Four P’s Of SE
People Stakeholders in different roles
Process The way activities are carried out
Project Activities required to produce the artifacts
Product All the artifacts (executables, documents, etc)
CSC 480 -- Fall 2004 258/18/2004
Process(the manner
in which it is done)
Elaboration
Unified Process Matrix
Inception Construction Transition
Requirements
Analysis
Jacobson et al: USDP
Prelim.iterations
Iter.#1
Iter.#n
Iter.#n+1
Iter.#m
Iter.#m+1
Iter.#k
….. …..
Design
Implemen-tation
Test
..
Product
(the application artifacts)
People
(by whom it is done)
*
Project
(the doing of it)
CSC 480 -- Fall 2004 268/18/2004
Quality
Delivering quality products is at the heart of any engineering High-quality != perfect The key is to define the acceptance level
Methods to attain quality level: Inspection (introduced in chapter 1)
team-oriented process for ensuring quality applied to all stages of the process.
CSC 480 -- Fall 2004 278/18/2004
Quality
Methods to attain quality level: (cont’d) Formal methods (introduced in chapter 1)
mathematical techniques to convince ourselves and peers that our programs do what they are meant to do
applied selectively Testing
at the unit (component) level (chapter 8) at the whole application level (chapter 9)
Project control techniques (chapter 2) predict costs and schedule control artifacts (versions, scope etc.)
CSC 480 -- Fall 2004 288/18/2004
Assignments
Read sections 8 & 9 Propose answers to Ex’s 1 & 2
1(b): consider SE and CS 2: give a sentence or two to describe each of the 4P’s
Propose additional questions that may be asked on materials covered in Introduction of our text