CS6704 -- Advanced Topics in Software Engineering
Course Syllabus
Instructor: Dr.
Shawn A. Bohner
bohner@nvc.cs.vt.edu
Northern Virginia Center Room 311, Phone: 703-538-8374
Office Hours: Friday’s, 5:00-7:00pm, NVC Room 311
Description
As demand for information technology continues to grow, software is evolving
and changing at an unprecedented rate. However, poorly engineered software exposes
systems and the organizations they serve to risks ranging from innocent defects
injected during maintenance to more sinister information assurance vulnerabilities.
This course presents software principles that enable software engineers to develop
and maintain software, and to manage software efforts effectively. Students
will learn techniques for delivering software products on-time, on-budget, and
on specification.
Prerequisites
Graduate or senior standing in the Computer Science, MIT, or MIS program; Ability
to read and write English well and to program; Some software development and/or
maintenance experience will make course more meaningful.
Course Description
Advanced Topics in Software Engineering: Software Architecture
Prior to the mid-1980s, software engineering could be described as programming-in-thesmall”
consisting of relatively small and simple programs crafted by individuals or
small teams serving a technologically unsophisticated customer-base. Since then, the
industry evolved towards software-engineering-in-the-large where large, complex
software systems are developed on heterogeneous platforms by process-aware or even
mature software organizations that manage portfolios of software products. Software
architecture emerged as more than an extension to software design it became the
framework for integrating technologies across the enterprise. This practicum-style course
examines the theory and practice surrounding software architecture in the context of the
enterprises they serve. The participant will learn about software architecture from the
design and use perspective, and will be exposed to emergent software architecture
principles.
Course Objectives:
Through basic texts and a series of directed readings, students will be exposed to a blend of classic techniques, latest research, and case studies to grasp a thorough understanding of key software architecture principles. As this is an advanced topics course, the students will be expected to participate and present material in class. Upon completing this course, a student will have been exposed to:
Required Textbook: Design and Use of Software Architectures, 1st Edition by Jan Bosch; (May 19, 2000) Addison Wesley; ISBN: 0201674947.
Optional Textbook: Documenting Software Architectures: Views and Beyond, 1st Edition by Paul Clements et al.; (September 26, 2002) Addison Wesley Professional; ISBN: 0201703726.
Other on-line material will be assigned.
Course Section Website: Some course materials are on the web at http://www.learn.vt.edu (Adv Topics S/W Spring-03). Students are responsible for regularly checking your Virginia Tech email and this website.
Homework: Homework is a necessary instrument for tracking progress of the students. When assigned, it will be collected but may not be returned every time. The average student will work approximately 9 hours outside of class each week on this course. Everyone must have access to email, the World Wide Web (WWW), and Microsoft Word or an HTML editor.
Team Project(s): Everyone is expected to be a productive team member. Poor performance can result in a student receiving a grade lower on their project than their team's grade. Students may choose to work alone, but the same level of performance is expected of teams and individuals.
Handouts: Normally placed on course website but when not available there, will have paper version available at class meeting.
Honor Code:
Graduate Honor Code at http://fbox.vt.edu/studentinfo/gradhonor/ governs class and performance. Joint study is allowed (even encouraged) on "Study" and "Read" items; however, each student must produce his or her solutions individually. Students must not collaborate on the tests. Please recognize that copyrighted sites/pages/contents on the Internet cannot be saved or printed without explicit permission.
Examinations: Mid-Term, Final, occasional quiz.
Grading: Homework/Projects/Reports (50%), Mid-term (25%), Final (25%).