CPSC 871/881: Introduction to Software Engineering for Systems Engineers

Instructors: Dr. John D. McGregor

Associate Professor, School of Computing

312 McAdams Hall; phone 864-656-5859; email: johnmc@cs.clemson.edu

www.cs.clemson.edu/~johnmc

Office Hours: TTh: 9:30 – 10:45; other hours by appointment

 

 

Catalog Description:

CP SC 881 Introduction to Software Engineering for Systems Engineers 3(3,0) Techniques and issues in software design and development; tools, methodologies and environments for effective design, development and testing of software; organizing and managing the development of software projects. Preq: Graduate standing in Computer Science or Systems Engineering.

 

Course Objectives:

·         Provide an overview of software engineering for systems engineers

·         Provide experience in an end-to-end software engineering process

         Provide exposure to state-of-the-practice and state-of-the-art software engineering methods

         Provide criteria for evaluating alternative methods for each software engineering task

         Provide a foundation for further study in software engineering

 

 

Textbooks:

Instructor notes and available web resources

Course Approach

This course will be taught on line. You will participate in activities such as listening to lectures and carrying out exercises. The course involves no programming but it does involve the use of tools. Since this is a distance learning course the student must have access to a Windows/ Linux/ Apple system that is capable of running the latest version of Eclipse Process Framework (www.eclipse.org/epf) and Topcased (www.topcased.org).

Policies:

All work should be completed independently (without the assistance of anyone except the instructor or someone he designates) unless explicitly stated otherwise in the assignment.

Grading Policy:

 

There are 12 modules.

To earn a C you must have 8 accepted modules

To earn a B you must have 9 accepted modules

To earn an A you must have 11 accepted modules

The project will be part of the module assignments.

 

Tokens:

It is understood that life is chaotic and that taking courses while working full-time only contributes to the chaos. While each Module Assignment has a definite due date by which the assignment must be turned in to be considered Acceptable, each student can turn in or resubmit up to three assignments at any time in the course. These do-overs are formalized as Tokens. Each student begins the course with three tokens. Tokens are spent when the student submits a Module assignment past the due date or resubmits one that was deemed Unacceptable. Token balances will be available at any time.

 

 

Academic Integrity:

The university's academic integrity statement says: As members of the Clemson University community, we have inherited Thomas Green Clemson's vision of this institution as a "high seminary of learning." Fundamental to this vision is a mutual commitment to truthfulness, honor, and responsibility, without which we cannot earn the trust and respect of others. Furthermore, we recognize that academic dishonesty detracts from the value of a Clemson degree. Therefore, we shall not tolerate lying, cheating, or stealing in any form. See: http://www.cs.clemson.edu/html/academics/academic_integrity_2002.html for more.

 

 

 

Topical course outline:

Development module

Quality counterpart module

Introduction

Process models

Requirements elicitation/analysis

Requirements review

Team work/project management

Version control

Architecture

 

Architecture analysis

Architecture evaluation - ATAM

Design patterns

 

Systems of Systems

Interaction testing

Component-based Software Engineering

Verification and Validation

Detailed design

Design reviews\verification techniques

Design of user interfaces

Usability testing\verification techniques

Design of internal Interfaces

Unit testing\verification techniques

Implementation issues

Realization tools

Integration

Integration testing\verification techniques