CSC 480 Software Engineering - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

CSC 480 Software Engineering

Description:

Choose a role (or roles) that can match your interest and talent ... Smith, Joshua A. Thorogood, Charles. Wesson, Jamerson D. Young, Nathan S. CSC 480 -- Fall 2004 ... – PowerPoint PPT presentation

Number of Views:121
Avg rating:3.0/5.0
Slides: 29
Provided by: zha4
Category:

less

Transcript and Presenter's Notes

Title: CSC 480 Software Engineering


1
CSC 480Software Engineering
  • Lecture 1
  • August 21, 2002

2
Topics
  • Welcome to CSC 480
  • Course Roadmap
  • Introduction to Software Engineering

3
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

4
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

5
Special Features
  • Put ideas into reality
  • conceptualization ? 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

6
Team Lineup Couch
  • Martin Zhao, PhD
  • Teaching Prog, SE, DB OOAD _at_ Mercer
  • Engaged in S/W development and integration _at_ two
    IT startups
  • Other background -- computer aided design and
    modeling
  • Committed to a enjoyable class experience
  • For both you all and me

7
We Want to Know You...
  • Background
  • Major
  • Courses taken
  • Strength/interest in computing
  • Programming/system development experience
  • Career goals
  • Expectations for the class

8
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

9
Team Lineup Players (contd)
  • 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

10
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

11
Individual Assignments
  • Programs
  • Essential PSP training
  • Homework
  • Topics may not be directly applicable to projects
    in class
  • Workshops
  • Exposure to new technologies

12
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

13
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

14
Score Breakdown
15
Introduction
  • What is Software Engineering?
  • What is the difference?
  • Computer Science vs. Software Engineering
  • Software Engineering vs. other engineering
  • What Activities are involved?

16
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

17
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

18
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

19
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

20
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
  • Dont just learn Software Engineering. Do it!

21
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

22
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

23
Essential Activities (contd)
  • Defining the software development process to be
    used
  • Managing the development project

24
The Four Ps 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)

25
(No Transcript)
26
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.

27
Quality
  • Methods to attain quality level (contd)
  • 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.)

28
Assignments
  • Read sections 8 9
  • Propose answers to Exs 1 2
  • 1(b) consider SE and CS
  • 2 give a sentence or two to describe each of the
    4Ps
  • Propose additional questions that may be asked on
    materials covered in Introduction of our text
Write a Comment
User Comments (0)
About PowerShow.com