Approximate
Schedule by week
1.
Course
Overview
The software crisis
The personal software
process
Introduction to group
communications
2.
Software
Requirements (Chapter 1.1, pp. 1-31)
Requirements and the software lifecycle
Costs associated with requirements problems
Why are requirements so hard?
A disciplined approach for obtaining
requirements
The current state of the practice
3.
Software
Requirements (Cont’d) (Chapter 1.1, pp. 31-42 & Chapter 1.2, pp. 43-56)
Practical Formal Methods
Trends and Emerging Technology
Software Requirements Fundamentals
Requirements Process
Requirements Elicitation
Requirements Analysis
Requirements Specification
Practical Considerations
4.
Software
Design: Introduction and Overview (Chapter 2.1a, pp. 57-82)
The Nature of Software Design
Software Architecture
Describing Designs
Organizing the Design Process
5.
Software
Engineering Process (Chapter 8.1, pp. 59-81)
Software Process Models
Process Iteration
Process Activities
Software Evolution
Essentials of Software Engineering
(Chapter 8.2, pp. 82-94)
Process Implementation
and Change
Process Definition
Process Assessment
Process and Product
Measurement
6.
Software
Engineering Methods, Tools and Technologies (Chapter 9.1, pp. 95-106)
Classifying Methods and Technologies
Methods
Development Technologies
Process Support Technologies
Infrastructure Technologies
Essentials of Software Engineering
Methods (Chapter 9.2, pp. 107-118)
Modeling
Types of Models
Analysis
Software Engineering
Methods
Formal Construction
Methods
7.
Model-Based
Software Design for Concurrent and Real-Time Systems (Chapter 2.1b, pp. 83-102)
Concurrent Processing Concepts
Run-Time Support for Concurrent Tasks
Methods for Concurrent and Real-Time Systems
Model-Based Software Design
Software Architectural Patterns for Real-Time
Control
Performance Analysis of Real-Time Designs
Real-Time Embedded Software Product Line
Design
Essentials of Software Design
(Chapter 2.2, pp. 103-120)
Software Design
Fundamentals
Key Issues in Software
Design
Human Computer Design
Software Design Quality
Analysis and Evaluation
Software Design
Notations
Software Design
Strategies and Methods
8.
Midterm
Exam
Software Configuration Management (Chapter
6.1, pp.1-14)
Managing the CM Process
CM Activities
CM Tools
Essentials of Software Configuration
Management (Chapter 6.2, pp. 15-30)
Management of the SCM
Process
Software Configuration
Identification
Software Configuration
Control
Software Configuration
Status Accounting & Auditing
Software Release
Management and Delivery
SCM Tools
9.
Software
Engineering Project Management (Chapter 7.1, pp. 31-50)
Major Issues of Software Engineering
Functions and Activities of Management
Planning a Software Engineering Project
Organizing a Software Engineering Project
Staffing a Software Engineering Project
Directing a Software Engineering Project
Controlling a Software Engineering Project
Essentials of Software Engineering
Management (Chapter 7.2, pp. 51-58)
Initiation and Scope
Definition
Software Project
Planning
Software Project
Enactment
Review, Evaluation and
Closure
10.
Software
Construction (Chapter 3.1, pp.121-128)
What is Software Construction?
Why is Software Construction Important?
Building Software
Essentials of Software Construction
(Chapter 3.2, p129-148)
Software Construction
Fundamentals
Managing Construction
Practical Considerations
Construction Tools
Construction
Technologies
11.
Software
Quality Assurance (Chapter 10.1, pp. 119-142)
Concepts, Definitions, and Goals
Establishing a Project Software Assurance
Activity
Software Quality Assurance
Software Quality Engineering
Verification and Validation
Nonconformance Reporting and Corrective
Action
Software and System Safety
Security Assurance
Essentials of Software Quality
(Chapter 10.2, pp. 143-158)
Software Quality
Fundamentals
Software Quality
Management Processes
Practical Considerations
12.
Software
Testing: Fundamentals, Techniques and Related Concepts (Chapter 4.1, pp. 149-181)
Terminology and Basic Concepts
Other V&V Approaches
Test Levels
Test Techniques
Aspects of Usefulness
and Usability
Test Measurements
Test Process
Test Management
Test Tools
13.
Essentials
of Software Engineering Testing (Chapter 4.2, pp. 183-200)
Software Testing Fundamentals
Test Levels
Test Techniques
HCI Testing and Evaluation
Test-related Measures
Test Process
14.
Software
Engineering Maintenance (Chapter 5.1, pp. 201-224)
What is Software Maintenance?
Types of Software Maintenance
Problems of Software Maintenance
Organizational Aspects of Maintenance
Process Models
IEEE Standard for Software Maintenance
Technical Aspects of Software Maintenance
Issues with Legacy Systems
Essentials of Software Maintenance (Chapter
5.2, pp. 225-240)
Software Maintenance Fundamentals
Key Issues in Software Maintenance
Maintenance Process
Techniques for Maintenance
Software Maintenance Tools
15.
Software
Engineering as a Profession (Chapter 11.1a, pp. 159-164)
Elements of a Profession
The Software Engineering Code of
Ethics (Chapter 11.1b, pp. 165-172)
Why Have a Code of
Ethics
Professional Tensions
Common Commitment
Software, Intellectual Property, and
the Law (Chapter 11.1c, pp. 173-190)
The Ownership of
Intellectual Expression
Software Copyright
“Business Methods”
Patents and Software
Additional Statutory Remedies
for Software Protection
The Law of Contracts,
Protocols and Private Agreements
Future Development for
Software and the Law
Teams, Teamwork, Motivation,
Leadership and Communication (Chapter 11.1d, pp. 191-212)
Managing vs. Leading
Teams and Teamwork
Maintaining Morale and
Motivation
Can’t vs. Won’t
Personality Styles
Essentials of Software Engineering
Professional Practices (Chapter 11.2, pp. 213-235)
Accreditation,
Certification, and Licensing
The Economic Impact of
Software
Codes of Ethics
Group
Dynamics/Psychology
Communication Skills
Intellectual Property,
Confidentiality, Security
Updated: September 23, 2016