10
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

Embed Size (px)

Citation preview

Page 1: Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

Course Introduction

CEN 5016

Software Engineering

Dr. David A. Workman

School of EE and Computer Science

January 9, 2007

Page 2: Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

January 9, 2007 (c) Dr. David A. Workman 2

Course Objectives

• To Introduce the fundamental concepts, methods, and standards applied to, and the resulting artifacts produced by large-scale software development projects.

• To introduce the student to the discipline and experience of team-oriented software development.

• To give the student experience in the practice of formal Object-Oriented analysis and design methods and modeling notations (UML).

• To introduce the basic techniques and tools for estimating software development costs, size and effort.

• To introduce basic principles, techniques, and tools for software project management.

Page 3: Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

January 9, 2007 (c) Dr. David A. Workman 3

Text Books and References

• TEXTS – Software Engineering: A Practioner’s Approach, 5th Ed., by Roger Pressman,

McGraw-Hill, 2001.

– Class notes: http://www.cs.ucf.edu/~workman/cen5016/

• REFERENCES1) UML Distilled,Third Edition,

by Martin Fowler, Addision-Wesley, 2004, ISBN = 0-321-19368-7.

2) The Rational Unified Process Made Easy, by Per Kroll and Philippe Kruchten, Addison-Wesley, © 2003, ISBN = 0-321-166094

3) Unified Modeling Language Reference Manual, by Rumbaugh, Jacobson, and Booch, Addison-Wesley, 1998, 0-201-30998-X

4) The Unified Software Development Process, by Rumbaugh, Jacobson, and Booch, Addison-Wesley, 1999, 0-201-57169-2.

5) Software Project Management: A Unified Framework, by Walker Royce, Addison-Wesley, 1998, ISBN 0-201-30958-0

Page 4: Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

January 9, 2007 (c) Dr. David A. Workman 4

Grading Policy

• Midterm and Final Exam (30%)

• Weekly Status Reports (30%)

• Term Project (40%)– Peer Reviews (individual evaluations)(20%)

– Instructor Reviews (weekly mtngs)(project presentation)(20%)

Page 5: Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

January 9, 2007 (c) Dr. David A. Workman 5

Text Topic Overview

• Introduction (Chap. 1 & 2)

• Software Process (Chap. 2)

• OO Concepts and UML (Chap. 20)

• Term Project Introduction (Chap. 3)

• Project Planning (Chap. 3, 5, 6 & 7)

• Requirements Elicitation & Definition (Chap. 10, 11, 15 & 21)

• Requirements Elaboration and Specification (Chap. 12, 15 & 21)

• Software Estimation (Chap. 4 & 7)

• Design (Chap. 13, 14, 15, 16 & 22)

• Implementation (Chap. 9 & 28, 29, 30)

• Testing & Integration (Chap. 9, 17 & 18)

• Software Quality (Chap. 8)

• Research Topics (Chap. 24, 30, 32)

Readings for Next TimeChap. 1 & 2

Page 6: Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

January 9, 2007 (c) Dr. David A. Workman 6

Featured Topics

1. Project Planning and Management Techniques

2. Software Size and Effort Estimation

3. Agile Software Development Processes

4. Capability Maturity Model and Extensions

5. GUI Development

6. Web Applications Development

Page 7: Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

January 9, 2007 (c) Dr. David A. Workman 7

Project Overview• Requirements

– Non-trivial (more than what one person could accomplish)

– Interesting ( stimulates creativity and learning )

– Useful (has application outside academic context )

– Manageable (suitable for team development)

– Reasonable scope (can be completed within the time frame of one semester)

• Structure– Follow a formally defined OO development process

– Team-oriented (1 team lead, 3 software engineers )

– Weekly status reports (capture process data, report progress )

– Formal design review

• Artifacts– Requirements Definition

– Software Specification (in UML)

– Source Code (in C++, Java, or Ada)

– Test Plans and Procedures, Data, and Results

– Working System

Page 8: Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

January 9, 2007 (c) Dr. David A. Workman 8

Project Organization

Project Manager=

Customer

Team Lead Team Lead Team Lead Team LeadTeam Lead

TeamMembersTeam

MembersTeam

MembersTeam

Members

TeamMembersTeam

MembersTeam

MembersTeam

Members

TeamMembersTeam

MembersTeam

MembersTeam

Members

TeamMembersTeam

MembersTeam

MembersTeam

Members

TeamMembersTeam

MembersTeam

MembersTeam

Members

Instructor Plays role of: Project ManagerCustomer

Team Lead:• represents team to project manager and customer• makes work assignments• coordinates work activities among team members• compiles status reports • reports to project manager• oversees assembly and delivery of work products

Team Members:• prepares and submits weekly status reports to team lead• performs assigned work activities• keeps team lead well-informed of progress and technical issues

Page 9: Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

January 9, 2007 (c) Dr. David A. Workman 9

Team Roles & Responsibilities

• Team Lead– Point of Contact for project management

(attends weekly status meeting of team leads)– Schedules and coordinates team meetings– Facilitates team communication– Assigns work packages and responsibilities– Acts as team configuration manager, or delegates that responsibility– Collects and summarizes weekly status reports (submitted at weekly status

meeting with PM)– Responsible for monitoring team activities to ensure project schedule is met.– Reviews work products and enforces standards and conventions for those

products.– Represents team in formal reviews with project management and/or customer.

• Software Engineer– Performs assigned work packages maintaining schedule and quality standards– Prepares weekly status report and submits to Team Lead– Keeps Lead informed of progress, problems, and accessibility

Page 10: Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007

January 9, 2007 (c) Dr. David A. Workman 10

Administration & Reporting• Resume’

• Weekly Status Report

• Activity Data Spreadsheet