|
Class
|
Topic's)
|
Reading
Assignments
& Handouts
|
Laboratory
Assignments
|
|
# 1
1/15
R
|
Introduction To Class
Discuss Course Outline
Chapter 1
Software & Software Engineering
What Is Software Engineering
Symptoms Of A Software Crisis
Software Failures
Hardware Failure Curve
Software Failure Curve
Approximate Time Distributions In Software Projects
Maintenance Efforts
Terminology
Software Engineers
Computer Software
Software's Dual Role - Product & Vehicle
Categories Of Software
Legacy Software
Reasons That Legacy Software Must Be Changed
Fundamental Laws of Software Evolution
Law Of Continuing Change
Law Of Increasing Complexity
Law Of Continuing Self Regulation
Law Of Conservation Of Organizational Stability
Law Of Conservation of Familiarity
Law Of Continuing Growth
Law Of Declining Quality
The Feedback System Law
Software Myths
Mongolian Horde Myth
Outsourcing Myth
Requirements Myth
Project Change Myth
Quality Assurance Myth
Deliverable Myth
Documentation Myth
Software Costs
Life Cycle Costs
FAQ's About Software Engineering
Computer Science vs Software Engineering
Software Process
Software Process Models
Upper Case Tools vs Lower Case Tools
Major Attributes Of Good Software
Maintainability
Dependability
Efficiency
Usability
Determinate Software
indeterminate Software
Professional Ethical Responsibility
Confidentiality
Competence
Intellectual Property Rights
Computer Misuse
ACM/IEE Code Of Ethics
|
Read the Course
Outline
SE-01-Software-And-Software-Engineering.pdf |
Questionnaire Lab
SE-01-Software-And-Software-Engineering-HW |
|
# 2
1/20
T
|
Chapter 2
Process A Generic Approach
4 Layers Of Software Frameworks
Work Tasks
Work Products
Milestones & Deliverables
Communication
Planning
Modeling
Construction
Deployment
Software Project Management
Formal Technical Reviews
Software Quality Assurance
Software Configuration Management
Work Product Preparation & Production
Reusability Management
Measurement
Risk Management
Process Model
How Process Models Differ
CMMI
Process Patterns
Customer Communication
Analysis
Requirements Gathering
Review Work
Design Models
Process Assessment
Systems Engineering
Software Life Cycle States
Software Project Activities
7 Major Software Deployment Activities
Requirements Analysis
System Design
Program Design
Program Implementation
Testing
Delivery
Maintenance
Use Case Diagrams
Systems Engineering
Problems Of System Engineering
Emergent System Properties
System Reliability
Hardware Reliability
Software Reliability
Operator Reliability
Systems & Their Environment
Human Organizational Factors
Process Changes
Job Changes
Organizational Changes
Software Modeling
Architecture Diagrams
System Engineering Process
7 Step System Engineering Process
Requirements Definition
System Design
sub-System Deployment
System Integration
System Installation
System Evolution
System Decommissioning
COTS - Commercial Off The Shelf
System Procurement
Procurement Issues
Things Designers Should Ask Users
Things Users Should Ask Designers
Things Users Should Ask Themselves
Things Designers Should Ask Designers
Discuss Major Project Entities
Block Buster - Garage
Prototyping Form Basics
|
SE-02-Process-A-Generic-Approach.pdf
Windows-Forms-Basic-Form
Windows-Forms-Label-Textbox
Prototype Forms
Form Guidelines
|
SE-02-Process-A-Generic-Approach-HW |
|
# 3
1/22
R
|
Log In To NET Server
Using Visual Studio As A
Rapid Prototyping Tool |
Windows-App-Form-Buttons-Color-Picker
Form Guidelines
Visual Studio ComboBoxes |
Architectural-Software Lab |
|
# 4
1/27
T
|
Team's Show
Architectural Software
Chapter 3
Prescriptive Process Models
Software Processes
Cyclical Software Analysis Process
Build And Fix Model
Waterfall Model
Why Managers Love Waterfall Model
Waterfall Weaknesses
Waterfall Applicability
Evolutionary Development Model
Evolutionary Development Weaknesses
Evolutionary Development Applicability
Formal Development Model
Formal Development Weaknesses
Formal Development Applicability
Reuse Based Model
V Based Model
Sawtooth Based Model
Process Iterations
Incremental Development
Spiral Development
Incremental Model
Incremental Applicability
Rapid Development Model
Rapid Development Weaknesses
Rapid Development Applicability
Spiral Development Model
Spiral Development Iterations
Spiral Development Sectors
Unified Process Model
5 Unified Process Model Phases
Software Specifications
Requirements Engineering
Feasibility Study
6 Major Process Activities
Software Design Graphical Models
Programming & Debugging
Software Validation
Software Verification
Software Testing
5 Major Software Testing Stages
Unit Testing
Module Testing
Sub-System Testing
System Testing
Acceptance Testing
Software Evolution/Maintenance
CASE Tool - Automated Process Support
Graphical Editors
Data Dictionary
Graphical UI Builders
Debuggers
Automatic Translators
CASE Tools
CASE Workbenches
CASE Environments
|
SE-03-Prescriptive-Process-Models.pdf |
SE-03-Prescriptive-Process-Models-HW |
|
# 5
1/29
R
|
Teams Design Video Store
Class Diagram
For Movie Component Of Inventory Subsystem
Block Buster Project
Chapter 4
Agile Development &
Real-Time Systems
Agile Development Manifesto
Agile Development Politics
Agility
7 Human Factors Of Agile Development
Competence
Common Focus
Collaboration
Decision Making Ability
Fuzzy Problem Solving Ability
Mutual Trust & Respect
Self Organization
12 Principles Of Agile Development
Agile Development Research
About Agile Development
Extreme Programming XP Model
Kent Beck
4 Step XP Planning Process
User Stories
CRC - Class Responsibility Collaborator - Cards
XP Coding - Pair Programming
XP Daily Unit Testing
XP Acceptance/Customer Tests
Adaptive Software Development Model (ASD)
Jim Highsmith
6 Distinguishing ASD Features
Time Boxing
3 Steps of ASD
ASD Speculation
ASD Collaboration
ASD Learning
Dynamic Software Development Model (DSDM)
8 Principles of DSDM
Scrum Model
Jeff Sutherland
Scrum Distinguishing Features
Crystal Model
Cockburn & Highsmith
Crystal Features
Feature Driven Development Model (FDD)
Peter Coad
FDD Features - Client-Valued
Agile Modeling
Scott Ambler
Real-Times System
Real-Time Software Design
Monitor & Control Environment
Sensors
Actuators
Time Is Critical
Soft Real-Time System
Hard Real-Time System
Real Time Architectural Considerations
2 Stages Of Real-Time Systems Design
Real-Timing Constraints
Real-Time State Modeling
Real-Time Programming & Languages
Java as a Real-Time Language
Real-Time Executives
Real-Time Priority
Real-Time Servicing
Real-Time Project Management
Real-Time Scheduling Strategies
Real-Time Monitors & Controls
Real-Time System Design
|
Video-Store-Class-Design
SE-04-Agile-Development-Real-Time-Systems |
SE-04-Agile-Development-Real-Time-Systems-HW
Block-Buster-Architecture-Diagrams-1
Due 2/17
Block-Buster-Class-Diagrams-1
Due 2/17
Block-Buster-Prototypes-1
Due 2/17 |
|
# 6
2/3
T
|
Show Team Add/Edit
Movie
Prototype - Class Diagrams
|
Visual-Studio-Windows-App-Form-Menu-Multiple-Forms |
Study For Exam I |
|
# 7
2/5
R
|
30-40 Minute
Exam I
Chapters 1, 2, 3, 4 |
|
Block-Buster-Architecture-Diagrams-1
Due 2/17
Block-Buster-Class-Diagrams-1
Due 2/17
Block-Buster-Prototypes-1
Due 2/17 |
|
# 8
2/10
T
|
Think About
Front-End Design
Chapter 12
User Interfaces & Prototyping
What Is Software Prototyping
Functional Requirements
Increase Probability Right System
4th & 5th Generation Languages
Create & Manipulate Database Fields
Users Determine Omissions
Prototyping Validates Systems
Developed System vs. Required System
Professor Luqi Research
Dr. Boehm's Research
Prototyping & Spiral Model
Prototyping Is Risk Reduction Activity
Requirements Elicitation Process
Requirements Validation Process
12 Prototyping Benefits
Misunderstandings Exposed & Corrected
Missing Services Detected & Included
Confusing Services Identified
Working Systems Delivered Early
Prototype Serve As Basis For Specifications
Prototype Helps Support User Training
Prototype Helps Support System Testing
Prototyping Improves Usability
Delivered System Is Closer Match To Needed System
Prototyping Demonstrate Improved Maintainability
Prototyping Reduces Overall Development Effort
About Evolutionary Prototyping
Evolutionary Prototyping Advantages
About Throw Away Prototyping
Throw Away Prototyping Advantages
Prototyping Concerns
Prototyping & Incremental Development
Rapid Prototype Development
Database & Rapid Prototype Development
Case Tools & Prototype Development
Visual Programming & Rapid Prototype Development
User Interface & Prototyping
User Interface Design Goals
6 Typical Interface Design Errors
3 Golden Rules Of Interface Design
6 Things You Can Do To Make The User Feel
More In Control
5 Things You Can Do To Help Reduce The User’s Memory Load
3 Things You Can Do To Make The Interface More Consistent
User Interface Analysis
Interface Analysis Means Understanding
13 Important User Considerations
Task Analysis and Modeling
7 Display Content Considerations
Design Issues Must Include
The User Interface
Graphical User Interfaces
4 Advantages Of Excellent GUIs
Poor GUIs
User-Centered Design
User Interface Design Principles
User Interaction
5 User Interaction Styles
Menu Systems
Advantages Of Menu Systems
Problems With Menu Systems
Command Language System Interfaces Advantages
Problems With Command Language System Interfaces
Natural Language System Interface
Information Presentation
Static Information Presentation
Dynamic Information Presentation
Information Display Factors
Analog vs. Digital Presentation
Data Visualization
6 Practical Color Use Guidelines
User Guidance
User Support
Help & Message System
Error Messages
Help System Use
User Documentation
5 Major Document Types
User Interface Evaluation
5 Usability Evaluation Attributes
For Evaluating User Interfaces
4 Simple User Interface Evaluation Techniques
|
MSSQL-Server-Management-Studio-DB-Construction
SE-12-UserInterface-Prototyping |
Block-Buster-Architecture-Diagrams-1
Due 2/17
Block-Buster-Class-Diagrams-1
Due 2/17
Block-Buster-Prototypes-1
Due 2/17
80 Points
SE-12-UserInterface-Prototyping-HW |
|
# 9
2/12
R
|
Chapter 5
A Generic View Of Project Planning
Software Engineering Practice
George Polya - Problem Solving
Understanding the Problem – 4 Great Questions To Ask
Plan The Solution – 4 Great Questions To Ask
Carry Out The Plan – 2 Great Questions To Ask
Examine The Result – 2 Great Questions To Ask
7 Core Software Engineering Principles
Provide Value to the customer and the user
KISS—keep it simple!
Maintain the Product
What you produce, others will consume
Be Open to the future
Plan Ahead For Reuse
Think!
Communication Practices
10 Key Principles For SE Meetings
Listen
Prepare before you communicate
Facilitate the communication
Face-to-face is best
Take notes and document decisions
Collaborate with the customer
Stay focused
Draw pictures when things are unclear
Once you agree on something, move on …
Negotiation works best when both parties win.
Good Communication Practices
10 Key Principles Of SE Planning Practices
Understand the project scope
Involve the customer (and other stakeholders)
Recognize that planning is iterative
Estimate based on what you know
Conduct Risk Analysis
Be realistic
Adjust granularity as you plan
Define how quality will be achieved
Define how you’ll accommodate changes
Track what you’ve planned
Good Planning Practices
Modeling Practices
5 Key Principles Of SE Construction Practices
Understand of the problem
Understand basic design principles
Pick a programming language
Select a programming environment
Create a set of unit tests
Software Engineering Coding Principles
Validate Coding Principles
5 Software Engineering Testing Principles
All tests should be traceable to requirements
Tests should be planned
The Pareto Principle applies to testing
Testing begins “in the small” and moves toward “in the large”
Exhaustive testing is not possible
5 Software Engineering Deployment Practices
Software Engineering Project Management
Software Project Management
6Project Management Activities
Proposal Writing
Project Planning & Scheduling
Project Costing
Project Monitoring & Reviews
Personnel Selection & Evaluation
Report Writing & Presentations
SE Management vs. Engineering Management
SE Project Staffing
Software Analysis Development Cycle
Ask Boehm’s Planning Questions
Facilitated Application Specification Techniques
Quality Function Deployment
Use-Cases
Prototypes
Models
8 Fundamental Analysis Principles
Procedural Models
Requirements Specifications
Project Scheduling
4 Major Scheduling Problems
Management Tools
Risk Management
4-Step Risk Management Process
Risk Identification
Risk Analysis
Risk Planning
Risk Monitoring
|
SE-05-Practice-A-Generic-View-Project-Planning |
Block-Buster-Architecture-Diagrams-1
Due 2/17
Block-Buster-Class-Diagrams-1
Due 2/17
Block-Buster-Prototypes-1
Due 2/17 |
|
# 10
2/17
T
|
Advanced
Prototype With MenuStrips
private const int CS_NOCLOSE = 0x200;
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ClassStyle = cp.ClassStyle | CS_NOCLOSE;
return cp;
}
}
Chapter 7
Requirements Engineering
What Is Requirements Engineering
Domain Understanding
Requirements Collection
Classification
Conflict Resolution
Prioritization
Requirements Checking
Requirements Engineering Processes
Requirements Engineering & Management
4 Analysis & Design Processes
Inception, Elicitation, Elaboration, Negotiation
2 Post Analysis & Design Processes
Validation, Requirements Management
Processes used for Requirements Engineering
Requirements Engineering – Inception
Requirements Engineering – Elicitation
Elicitation Meeting Guidelines
Requirements Elicitation Participants
Elicitation Work Products
Feasibility Study – Designer Questions
Feasibility Study – Stakeholder Questions
Viewpoint-Oriented Elicitation
Banking Example
Method-Based Analysis
4 Step VORD Process Model
VORD Method Flow 4 Basic Steps
3 Major Steps In RE Negotiating Requirements
Requirements Engineering – Elaboration
Building the Analysis Model
Scenarios Help To Describe Exceptions
Exception Description
Scenario Descriptions & Inclusions
Event Scenarios
Use Case Diagrams
Class Diagrams
State Diagrams
The Specifications/Requirements Document
Requirements Engineering – Validation
9 Validating Requirements Guidelines
5 Abbreviated Validation Requirements Check Points
Requirements Validation Techniques
Requirements Validation Reviews
Requirements Management
Requirements Change Examples
Enduring & Volatile Requirements
Managing Change Of Requirements
Requirements Identification
A Change Management Process
Traceability Policies
CASE Tool Support
3 Most Common Change Stages
5 Problems Of Requirements Analysis
|
Visual-Studio-Windows-App-Form-MenuStrip-Apps
SoftwareRequirementsTemplate.zip
SE-07-Requirements-Engineering |
SE-05-Practice-A-Generic-View-Project-Planning-HW
Implement Navigational System
Main-Menu Plan Which
Will Enable User To Get From One Sub-System To Another
Phase In Login & Inventory Sub-System
|
|
# 11
2/19
R
|
Team Meetings
Chapter 10
Architectural Engineering
Creating the Requirements/Specifications
What Is Requirements Engineering?
Requirements Elicitation Process Activities
Requirements Engineering & Management
4 Analysis & Design RE Processes
2 Post Analysis & Design RE Processes
Requirements Engineering – Inception
Requirements Engineering – Elicitation
Elicitation Meeting Guidelines
Requirements Elicitation Participants
Eliciting Requirements Flowchart
Elicitation Work Products Included
RE Feasibility Study – Designer Questions
RE Feasibility Study – Stakeholder Questions
RE Viewpoint-Oriented Elicitation
VORD Method-Based Analysis
3 Major Steps In Negotiating Requirements
Requirements Engineering – Elaboration
Scenarios
RE Scenario Descriptions & Inclusions
RE Event Scenarios
UML & Use Case
UML Sequence Diagrams
Use Case Diagrams
Class Diagrams
State Diagrams
The Specifications/Requirements Document
Requirements Engineering – Validation
9 Validating Requirements Guidelines
5 Abbreviated Validation Requirements Check Points
Requirements Validation Techniques
Requirements Validation Reviews
Requirements Management
Requirements Change Examples
Enduring & Volatile Requirements
Requirements Change Management Planning
Requirements Traceability
3 Stages Of Requirements Change Management
5 Problems Of Requirements Analysis |
SE-10-Architectural-Engineering |
SE-07-Requirements-Engineering-HW
SE-10-Architectural-Engineering-HW
Work On User/Vendor
Sub-System
Block-Buster-Architecture-Diagrams-2
Due 3/17
Block-Buster-Class-Diagrams-2
Due 3/17
Block-Buster-Prototypes-2
Due 3/17
|
|
# 12
2/24
T
|
Chapter 13
Software Testing Strategies
About Software Testing
What Testing Shows 4 Things
What is a “Good” Test?
Test Case Design Beizer
Who Tests the Software?
3 Reasons The Software Developer Should Not Test His/Her Own Software
4 Major Testing Phases
Unit/Component Testing
Integration Testing
System/Alpha Testing
Final/Beta Testing
Testing Strategy - Small To Large
Successful Software Testers Do 7 Things
Unit Testing
About Unit Testing’s Test Cases
Unit Test Environment
Test Harness - Stubs
The Component Testing Process
The Integration Testing Process
Integration Testing Strategies
Top-Down Design - Testing & Implementation
Designing & Testing Stubs
Bottom-Up Design Testing & Implementation
Sandwich Testing & Implementation
Object-Oriented Testing
Smoke Testing
Testing Hierarchy
7 Testing Objectives
The Debugging Process
“Art of Debugging”
Symptoms & Causes Of Program Bugs
Consequences of Bugs
3 Major Debugging Strategies
Exhaustive Testing
Testing Priorities
Selective Testing
Defect Testing
Test Data & Test Cases
Black-Box Testing
About Black-Box Testing
Black-Box Testing – Concerns?
Pros & Cons Of Black-Box Testing
How To Construct Test Cases
Equivalence Partition
Sample Equivalence Classes
Boundary Value Analysis
White-Box Testing
Structural Testing – White-Box Testing
Why Do White-Box Testing
Path Testing
Program Flow Graphs
Cyclomatic Complexity
Graph Matrices
Thomas McCabe
“Program Complexity”
Cyclomatic Complexity Assists In Risk Evaluation
Other Complexity Instruments
Halstead Software Metrics
Path Testing - Cyclomatic Complexity
Loop Testing
|
SE-13-Software-Testing-Strategies |
SE-13-Software-Testing-Strategies-HW
Do First Half Only
Block-Buster-Architecture-Diagrams-2
Due 3/17
Block-Buster-Class-Diagrams-2
Due 3/17
Block-Buster-Prototypes-2
Due 3/17 |
|
# 13
2/26
R
|
Exam II
Chapters 12, 5, 7, 10 |
|
Block-Buster-Architecture-Diagrams-2
Due 3/17
Block-Buster-Class-Diagrams-2
Due 3/17
Block-Buster-Prototypes-2
Due 3/17 |
|
# 14
3/3
T
|
Chapter 13
Software Testing Strategies
About Software Testing
What Testing Shows 4 Things
What is a “Good” Test?
Test Case Design Beizer
Who Tests the Software?
3 Reasons The Software Developer Should Not Test His/Her Own Software
4 Major Testing Phases
Unit/Component Testing
Integration Testing
System/Alpha Testing
Final/Beta Testing
Testing Strategy - Small To Large
Successful Software Testers Do 7 Things
Unit Testing
About Unit Testing’s Test Cases
Unit Test Environment
Test Harness - Stubs
The Component Testing Process
The Integration Testing Process
Integration Testing Strategies
Top-Down Design - Testing & Implementation
Designing & Testing Stubs
Bottom-Up Design Testing & Implementation
Sandwich Testing & Implementation
Object-Oriented Testing
Smoke Testing
Testing Hierarchy
7 Testing Objectives
The Debugging Process
“Art of Debugging”
Symptoms & Causes Of Program Bugs
Consequences of Bugs
3 Major Debugging Strategies
Exhaustive Testing
Testing Priorities
Selective Testing
Defect Testing
Test Data & Test Cases
Black-Box Testing
About Black-Box Testing
Black-Box Testing – Concerns?
Pros & Cons Of Black-Box Testing
How To Construct Test Cases
Equivalence Partition
Sample Equivalence Classes
Boundary Value Analysis
White-Box Testing
Structural Testing – White-Box Testing
Why Do White-Box Testing
Path Testing
Program Flow Graphs
Cyclomatic Complexity
Graph Matrices
Thomas McCabe
“Program Complexity”
Cyclomatic Complexity Assists In Risk Evaluation
Other Complexity Instruments
Halstead Software Metrics
Path Testing - Cyclomatic Complexity
Loop Testing |
SE-13-Software-Testing-Strategies |
SE-13-Software-Testing-Strategies-HW
Block-Buster-Architecture-Diagrams-2
Due 3/17
Block-Buster-Class-Diagrams-2
Due 3/17
Block-Buster-Prototypes-2
Due 3/17 |
|
# 15
3/5
R
|
Chapter 14
Software Testing Techniques
Integration Testing
Black-Box Testing
Incremental Integration Testing
About Top-Down Testing
Pros & Cons Of Top-Down Testing
About Bottom-Up Testing
Pros & Cons Of Bottom-Up Testing
About Sandwich Testing
Pros & Cons Of Sandwich Testing
Mixed Testing
Regression Testing
Interface Testing
4 Major Interfaces Types
Parameter Interfaces
Shared Memory Interfaces
Procedural Interfaces
Message Passing Interfaces
3 Major Interface Errors
5 - Interface Testing Guidelines
Interface Testing Guidelines
Stress Testing
Comparison Testing
Object-Oriented Testing
OOT—Test Case Design
OOP Approaches to Cluster Testing
Testing Workbenches
Testing Workbench Adaptation
Verification & Validation
Verification vs Validation
Static Verification – Software Inspections
Dynamic Verification – Software Testing
Program Testing
Defect Testing
Statistical Testing
Verification & Validation Goals
3 Factors Influencing Verification & Validation Confidence
Testing & Debugging
Verification & Validation Planning
The Structure Of A Software Test Plan
Software Inspections
Program Inspections
6 Inspection Pre-Conditions
Required To Make Program Inspections Successful
What Happens During The Program Inspection
Inspection Teams Composition
Inspection Checklists
Inspection Rate
Automated Static Analysis
Control Flow Analysis
Data Use Analysis
Interface Analysis
Information Flow Analysis
Path Analysis
When Should We Consider Static Analysis
Cleanroom Software Development
Cleanroom Process Evaluation
|
SE-14-Software-Testing-Techniques |
SE-14-Software-Testing-Techniques-HW
Block-Buster-Architecture-Diagrams-2
Extended To 3/19
Block-Buster-Class-Diagrams-2
Extended To 3/19
Block-Buster-Prototypes-2
Extended To 3/19 |
|
3/10
T
|
Spring Break |
|
3/12
R
|
Spring Break |
|
# 16
3/17
T
|
Chapter 15
Software Metrics
Requirements Engineering Measurement
About Software Metrics
Measures And Metrics
Software Metric Introduction
5 Major Steps In The Software Measurement Process
Software Quality
3 Important Software Quality Points
McCall’s 2 Quality Factors
Quality Categorization
McCall’s 5 Product Operation Quality Factors
McCall’s 3 Product Revision Quality Factors
McCall’s 3 Product Transition Quality Factors
ISO 9126 Quality Factors
Functionality
Reliability
Usability
Efficiency
Maintainability
Portability
Software Construction In A Process Of Transition
Transition to a Quantitative View
McCall and Cavano
3 M’s [Indicators]
Measurement
Measure
Metrics
Indicators
Challenges of Product Metrics
5 Step Measurement Process
Data Collection
Measurement Basics & Formulation
Metric Formulation
6 Principles Of Effective Metrics
Goal-Oriented Software Measurement Paradigm
GQM Goal Definition Template
The Product Metric Landscape 4 Classifications
Analysis Model Metrics
Design Model Metrics
Source Code Metrics
Testing Metrics
Metrics For The Analysis Model
Metrics For The Design Model
Metrics For Source Code
Halstead, Complexity Metrics, and Length Metrics
Metrics For Testing
Analysis Metrics
Function-Based Metrics
Function-Based Metrics
14 Function Point Value Adjustment Factors
Metrics for Specification Quality
Metrics For The Design Model
Architectural Design Metrics
3 Software Design Complexity Measures
Structural Complexity
Data Complexity
System Complexity
Shape Metrics
Air Force’s DSQI
9 Measurable Characteristics of OOD
CK Metrics Suite
Weighted Methods per Class
Depth of Inheritance Tree
The MOOD Metrics Suite
Method Inheritance Factor (MIF)
Coupling Factor (CF)
Cohesion Metrics
Halstead Basics
Metrics for Testing
Software Maturity Index (SMI) |
SE-15-Product-Metrics-For-Software |
Block-Buster-Architecture-Diagrams-2
Extended To 3/19
Block-Buster-Class-Diagrams-2
Extended To 3/19
Block-Buster-Prototypes-2
Extended To 3/19 |
|
# 17
3/19
R
|
Chapter 21A
Design With Reuse
Why Do We Care About Reuse?
About Software Reuse
3 Reuse Options
Application System Reuse
Component Reuse
Function Reuse
5 Major Benefits Of Reuse
Increased Reliability
Reduced Process Risk
Effective Use of Specialists
Standards Compliance
Accelerated Development
3 Requirements For Design With Reuse
5 Common Reuse Problems
Increased Maintenance Costs
Lack of Tool Support
Not-Invented-Here Syndrome
Maintaining a Component Library
Finding and Adapting Reusable Components
Generator-Based Reuse
3 Types of Program Generators
Components
Component-Based Development
CBSE Processes
3 Most Common CBSE Problems
Application Frameworks
3 Framework Classes
COTS
COTS Product Reuse
4 Problems With COTS System Integration
Component Development For Reuse
4 Ways To Help Generalize Components & Make Components Reusable
Development Cost Of Reusable Components
Generic Components
Reusability Enhancement
Name Generalization
Operation Generalization
Exception Generalization Application specific exceptions are removed and
exception management added to increase the robustness of the component
Component Certification
Application Families
Product Lines
3 Application Family Specializations
Platform Specialization
Configuration Specialization
Functional Specialization
Chapter 24
Project Scheduling
Projects Are Late
9 Of The More Common Reasons Why Are Projects Late
Unrealistic Deadline
Changes To The Requirements Have Occurred
Effort and/or Resources, Necessary to Complete the Job
Identified Risks Became A Reality.
Unidentified Risks Have Surfaced as a Reality.
Technical Difficulties
Human Difficulties
Miscommunication Among Project Staff
Project management Failed
What’s A Project Manager To Do?
Project Late Scenarios
6 Major Scheduling Principles
Compartmentalization
Interdependency
Effort Validation
Defined Responsibilities
Defined Outcomes
Defined Milestones-Review
Relationship Between People & Effort
About Program Scheduling
The Mythical Man Month
Effort Calculation
Effort Allocation
Tools
Timeline Charts
Use Automated Tools to Derive a Timeline Chart
Earned Value Analysis
Computing Earned Value
|
SE-21A-Design-With-Reuse
SE-24-Software-Project-Scheduling |
SE-15-Product-Metrics-For-Software-HW
SE-21A-Design-With-Reuse-HW |
|
# 18
3/24
T
|
Exam III
Chapters 13, 14, 15, 21A
TechEd |
|
SE-24-Software-Project-Scheduling-HW |
|
# 19
3/26
R
|
Database Views
Relate To Software Project
Import Database
Create View
Chapter 25
Risk Management
Common Risk Identification
Business Impact
Customer Characteristics
Process Definition
Development Environment
Technology To Be Built
Staff Size and Experience Thoughts To Ponder
Assessing Project Risk- Thoughts To Ponder!
Product Size
Are Top to support the project?
Are End-Users Enthusiastically Committed
Are Requirements Fully Understood
Have Customers Been Involved Fully in the Definition of Requirements?
Do End-Users have Realistic Expectations?
4 Major Risk Components
Performance Risk
Cost Risk
Support Risk
Schedule Risk
The Risk Table
Building the Risk Table
Risk Exposure = P x C
Probability of Occurrence
Cost to the project should the Risk Occur.
How To Employ Risk Exposure
Risk Identification
Risk Probability
Risk Impact
Risk Mitigation, Monitoring, and Management
7 Common Risk Identification Review
Product Size
Business Impact
Customer Characteristics
Process Definition
Development Environment
Technology To Be Built
Staff Size and Experience
8 Questions That Help To Identify Risks Due to
Staff/People Risks
|
LibraryApp.zip
SE-25-Software-Risk-Management |
Block-Buster-Architecture-Diagrams-3 Lab
Block-Buster-Class-Diagrams-3 Lab
Block-Buster-Prototypes-3 Lab
Block-Buster-Final-Presentation Lab
Final Project Set Due - 4/20 5:00 PM
Will Not Be Accepted After 9:45 On 4/21
SE-25-Software-Risk-Management-HW |
|
# 20
3/31
T
|
Chapter 21
Project Management
Management Activities
About Managing People
6 Major Management Activities
What Does The Manager Do?
Problem Solving
Motivating
Planning
Estimating
Controlling
Organizing
Software Teams
Common-Sense Approach to Projects
Start on the Right Foot
Maintain Momentum
Track Progress
Make Smart Decisions
Conduct a Postmortem Analysis
4 Major Organizational Paradigms
Closed Paradigm
Random Paradigm
Open Paradigm
Synchronous Paradigm
10 Major Reasons Projects Fail
Critical Practices
Management Must Understand The Problem
The 3 Major Components of The Product Scope
7 Questions Which Get to the Essence of a Project
Problem Decomposition
The 4 P’s Of Project Management
People, Product, Process, Project
People Management Process
The Development Team – Includes Stakeholders
3 Constraints That Limit Thinking
Memory Limits To Thinking
Memory Organization
Knowledge Representation
Motivation Influences
Problem Solving Requires Information Transfer
Semantic Knowledge Model
Semantic Limitations Directly Effects Those You Manage
Syntactical Limitations Directly Effects Those You Manage
Projects Involve Problem Solving
Those You Manage Will Have To Solve Problems
Projects Require Motivation
Those You Manage Will Need To Be Motivated
Human Needs Hierarchy
Maslow’s Needs Hierarchy
Motivations Depend on Satisfying Needs
How Might You, As Manager, Help Meet The Social Need
How Might You, As Manager, Help Meet The Esteem Need
How Might You, As Manager, Help Meet The Self Realization Need
Personality Types Effect Project Completion
3 Major Personality Types
Task-Oriented
Self-Oriented
Interaction-Oriented
Manager Need To Know About Motivational Balance
Group Dynamics & Interaction
Computer Scientists Time Distribution
Group Composition - Who Do You Put Together
Group Leadership
Group Cohesiveness
Developing Cohesiveness
Group Loyalties
Group Communications
Group Organization
Democratic Team Organization
Chief Programmer Teams - Specialist Teams
Problems Filling Chief Programmer Teams
Team Leader
7 Major Software Team Composition Factors
Choosing & Keeping People
8 Most Common Staff Selection Factors
Working Environments
Environmental Factors
Workspace Organization
Ideal Software Engineer Office Layout
4 Recommendations For Creating Successful Agile Teams
Avoid Team “Toxicity”
|
SE-21-Project-Management-Concepts |
Block-Buster-Architecture-Diagrams-3 Lab
Block-Buster-Class-Diagrams-3 Lab
Block-Buster-Prototypes-3 Lab
Block-Buster-Final-Presentation Lab
Final Project Set Due - 4/20 5:00 PM
Will Not Be Accepted After 9:45 On 4/21
SE-21-Project-Management-Concepts-HW |
|
# 21
4/2
R
|
Agile Program Development &
Practical Project Cost Estimation
Mr. Dan Cornell &
Mr. Aaron Copeland
Denim Group
Chapter 23
Estimation For Software Projects
Overall Goal Of Software Project Planning
6 Major Steps In The Project Planning Task Set
Establish Project Scope
Determine Feasibility
Analyze Risk Analysis.
Define Required Resources
Estimate Cost and Effort
Develop a Project Schedule
About Software Cost Estimation
3 Fundamental Estimation Questions
How much effort
How much calendar time
What is the total cost
3 Major Software Cost Components
Hardware & Software
Travel & Training
Effort
Costs & Pricing Factors
“Market Opportunity”
“Cost Estimate Uncertainty”
“Contractual Terms”
“Requirements Volatility”
“Financial Health”
Programmer Productivity & Productivity Measures
Programmer Productivity
Productivity Measures Size/LOC
Function-Related Measures Based on an Estimate of the Functionality
Function-Points
What If We Use Lines Of Code
Problems Related To Measure Software?
Productivity Comparisons With Lines Of Code Apples & Oranges
The Lower Level The Language
The More Verbose the Programmer
Function Points
FPs Can Be Used To Estimate LOC
Object Points
Process Based Estimation
Productivity Estimates
5 Important Factors Affecting Productivity
Metrics Flawed
Estimation Techniques
About Estimation Techniques
Beware The Motive!
4 Common Estimation Techniques
Algorithmic Cost Modeling
Expert Judgment
Estimation By Analogy
Pricing To Win
Estimation vs Implementation
Project Planning & Staffing
The Software Equation
OOP Project estimation
Agile Project Estimation
Should We Make It Or Buy It?
Double-Check Your Work!
COCOMO II Model
COCOMO II is actually a Hierarchy of Estimation Models
|
SE-23-Estimation-For-Software-Projects |
Block-Buster-Architecture-Diagrams-3 Lab
Block-Buster-Class-Diagrams-3 Lab
Block-Buster-Prototypes-3 Lab
Block-Buster-Final-Presentation Lab
Final Project Set Due - 4/20 5:00 PM
Will Not Be Accepted After 9:45 On 4/21
Estimation-For-Software-Projects-HW |
|
# 22
4/7
T
|
Chapter 26
Quality Management |
SE-26-Software-Quality-Management |
Block-Buster-Architecture-Diagrams-3 Lab
Block-Buster-Class-Diagrams-3 Lab
Block-Buster-Prototypes-3 Lab
Block-Buster-Final-Presentation Lab
Final Project Set Due - 4/20 5:00 PM
Will Not Be Accepted After 9:45 On 4/21
SE-26-Software-Quality-Management-HW
|
|
# 23
4/9
R
|
Practical Project
Management
Mr. Doug Conyers
VP of Engineering
GlobalSCAPE
|
|
Block-Buster-Architecture-Diagrams-3 Lab
Block-Buster-Class-Diagrams-3 Lab
Block-Buster-Prototypes-3 Lab
Block-Buster-Final-Presentation Lab
Final Project Set Due - 4/20 5:00 PM
Will Not Be Accepted After 9:45 On 4/21
|
|
# 24
4/14
T
|
Exam IV
Chapters 21, 23, 24, 25, 26
Applied VS Component |
|
Block-Buster-Architecture-Diagrams-3 Lab
Block-Buster-Class-Diagrams-3 Lab
Block-Buster-Prototypes-3 Lab
Block-Buster-Final-Presentation Lab
Final Project Set Due - 4/20 5:00 PM
Will Not Be Accepted After 9:45 On 4/21
|
|
# 25
4/16
R
|
Return Exam
Select Order For Presentations
?? |
|
Block-Buster-Architecture-Diagrams-3 Lab
Block-Buster-Class-Diagrams-3 Lab
Block-Buster-Prototypes-3 Lab
Block-Buster-Final-Presentation Lab
Final Project Set Due - 4/20 5:00 PM
Will Not Be Accepted After 9:45 On 4/21 |
|
# 26
4/21
T
|
Team Presentation
Cameron & James
Chapter 16
Web Engineering |
SE-16-Web-Engineering |
SE-16-Web-Engineering-HW |
|
# 27
4/23
R
|
Team Presentation
Alex & Troy & Maduka
Chapter 17
Planning Web Engineering |
SE-17-Formulation-And-Planning-For-Web-Engineering |
SE-17-Formulation-And-Planning-For-Web-Engineering-HW |
|
# 28
4/28
T
|
Team Presentation
Matt & Arno
Chapter 18
Analysis Modeling Web
Engineering |
SE-18-Analysis-Modeling-For-Web-Applications |
SE-18-Analysis-Modeling-For-Web-Applications-HW |
|
# 29
4/30
R
|
Team Presentation
Scott & Nik & Chris
Chapter 27
Change Management
Chapter 19
Design Modeling For Web
Engineering |
SE-19-Design-Modeling-For-Web-Applications
SE-27-Software-Change-Management |
SE-19-Design-Modeling-For-Web-Applications-HW
SE-27-Software-Change-Management-HW |
|
54
5/5 |
Reading Days |
|
Reading Days |
|
5/9
|
Final Exam Chapters
27-16-17-18-19 (25-30%)
Come By Dept Office & Answer Chapter Questions (~25 Minutes) (M-F
May 4th - May 8th)
Final Exam
Design & Prototyping Take Home (75-80%)
Must Be Completed By Saturday - May 9th (Slide Under My Door If Not
Here)
Final Exam - Practicum Will Be Optional
For Team With Best Prototype IFF
Class Members Have Completed Homework 27-16-17-18-19
|