Software Engineering
Dr. Tom Hicks - Trinity University - CSCI 3321 -  Fall 2021 - Tentative Schedule - 11:20 TT & 12:45 TT

All Labs/Assignments Are Due The Next Class Period Unless Specified Otherwise!

# Topic(s) Reading Assignments
 & Handouts
Laboratory Assignment

 


Install-Configure-Visual-Studio-2019.pdf


Install-Configure-MySQL-Windows.pdf

 


# 1

1/26

TU


All STUDENTS WILL LOG INTO VDI.TRINITY.EDU
WINDOWS SYSTEM 


Intro To Software Engineering Course

Copy Questionnaire "To Be Graded Folder"
On \\Mars.cs.trinity.edu

Select Team Leaders
Email Selections During Lecture

Intro To Form Guidelines


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 

Course Outline

About-The-Course

 

Intro-To-Form-Design-Guidelines-Slides

SE-01-02-Software-And-Software-Engineering-Slides

 

Read
Chapter 1 Of Text

 

Handouts/Transferring-Files-Into-My-Mars-DropBox-From-Linux.pdf

Handouts/Transferring-Files-Into-My-Mars-DropBox-From-Mac.pdf

Handouts/Transferring-Files-Into-My-Mars-DropBox-From-Win.pdf

Mail Your Team Leader Selections
During Class


Complete Your Questionnaire & Place It
In Your "To Be Graded Folder" On Mars
During Class

 

SE-1-2- Software-Engineering-Form-Design-I-HW
Due 2/2


# 2

1/28

TH


Team Leaders Will Select Teams During
First 15 Miinutes Of Class
Class Will Begin 15 Minutes Late

Visual Studio C# Project 1
Basic Form Design

 

VS-1-SE-Basic-Form-Tutorial


Read

Chapter 2 Of Text

User-Form 1-HW
Also Due 2/2

# 3

2/2

TU

 Quiz 1 (First 10 Minutes Of Class)
Study Material From Last 2 Classes

Visual Studio C# Project 2
Buttons,  TabFrame, Coding

Team Break-Out


VS-2-Buttons-TabFrame-Form-Tutorial


Read
Chapter 3 Of Text

 

User-Form 2 -HW
Due 2/9

---15 Points ---
Schedule 20 Minute Zoom Meeting
To Discuss & Decide On Team Project
During Class Thursday

 


# 4

2/4

TH


Visual Studio C# Project 2
Buttons,  TabFrame, Coding

Team Break-Out

Chapter 3-4
Process And Process Models

Software Process
Software Engineering
4 Basic Layers
tools, methods, process model, quality focus
5 Process Framework Activities
Communication, Planning, Modeling
Construction & Deployment
8 Process Framework Umbrella Activities
Software Project Management
Formal Technical Reviews
Software Quality Assurance
Software Configuration Management
Work Product Preparation & Production
Reusability Management
Measurement
Risk Management
Process Model Adaptability
How Process Models Differ
Process Patterns
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
System Modeling
Architecture Diagrams
High Level -> Low level
Class Diagrams
Sub-Systems
Models For Developers
Models To Communicate
With Stakeholders
Entities
Relationships
Good Design
Transactional Relationship
Translating Entities Into Files
Translating Relationships Into Files
Primary Key
Weak Entity
System Engineering Process
First Waterfall Model
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

CMMI

 

 

 

SE-03-04-Software-Process-Slides

 

Read
Chapter 4 Of Text

SE-03-04-Software-Process-HW


# 5

2/9

TU

 

 Quiz 2 (First 10 Minutes Of Class)
Study Form Guidelines & Material From Last 3 Classes

Design I
Class Diagrams
User Stories/Scenarios

 

Database I
SQL, DBMS
Login
Show Databases
Create Database
Drop Database
Current/Active/Default DB
Use
Show Tables
Fully Qualified Queries
Exit
Insert Into
SELECT .. FROM
Help
MySQL DataTypes


Design-1

 

Download For Class
Class-Diagrams-1.zip

Review Design I Slides

 Review Database Slides
Practice Queries

Team:
Review UserForrm2 For
Each Team Member

Decide On A Large Image For
Project Background

Decide On Navigation Buttons &
Quick Link Buttons

You Are Welcome To Share
Navigation Panel With Team

All Team Members Should
Use These Buttons & Background
For Future Projects!

# 6

2/11

TH

 
Visual Studio C# Project 3
Buttons,  TabFrame, Coding

Chapter 5
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
 
 SE-05-Agile-Development-Real-Time-Systems-Slides

VS-3-ComboBox-CheckBox-MDI-Containers-Tutorial

 

Color-MenuStrip-Demo

Read
Chapter 5 Of Text

 

SE-05-Agile-Development-Real-Time-Systems-HW

User-Form-3-A-HW

# 7

2/16

TU

 ICE AGE

 

 


# 8

2/18

TH


 ICE AGE





 

 

 

# 9

2/23

TU

Class Cancelled Class Cancelled Class Cancelled

# 10

2/25

TH

 
Design II
Class Diagrams
Architecture Diagrams

Chapter 13
Architectural Engineering & Design
 

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
 

   



Design-2.pdf

SE-13-Architectural-Engineering-Design-Slides

Read
Chapter 13 Of Text

Architecture-Diagrams-1.zip

Class-Diagrams-1.zip

 
Video: ImportingFormsFromOtherProjects.zip



SE-13-Architectural-Engineering-Design-HW
Due 3/2



User-Form-3-B-HW
Due 3/2


# 11

3/2

TU

 

Quiz 3 Chapter 5 - 13

Database With MySQL

Chapter 15
User Interface Design & 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

MySQL

SQL Acronym
DBMSAcronym
Log Into MySQL

SHOW DATABASES
CREATE DATABASE
DROP DATABASE
USE
CREATE TABLE
DROP TABLE
DESCRIBE
SHOW FIELDS IN
SELECT * vs
SELECT x,y,z

      



 
SE-15-User-Interface-Design-Slides


VS-4-Views-ViewMode-EditMode-Tutorial

UniversityLibrary.zip

Read
Chapter 15 Of Text

MySQL-Review-1-Slides.pdf



SE-15-User-Interface-Design-HW
3/9


User-Form-4-HW
Due 3/9

# 12

3/4

TH


MySQL

Concat
Restore Backup File
Order By
Upper, Ucase
Lower, Lcase
Left
Right
Update Practice
ASCII
Char
Floor
Ceiling
Rand --> In A Range
Limit
Max
Min
Sum
Avg
Delete
No Undelete - Tag Records For Deletion
More Advanced Queries
Mid
Substring
Length
Alias


  VS-4-Views-ViewMode-EditMode-Tutorial

 MySQL-Review-1-Slides.pdf


Database Practice HW
Due 3/9

SE-15-User-Interface-Design-HW
3/9

User-Form-4-HW
Due 3/9

# 13

3/9

TU\

 

 Quiz 4 (Database & Chapter 15)

Work On Purchase Order

Purchase-Order.zip

 
VS-5-DataGrid-Transactional-Views-Tutorial

 

 

User-Form-5-HW
Due 3/16

Backup Purchase Order Files To Mars
 "Work In Progress"
When Done

   


# 14

3/11

TH

 

Work On Purchase Order

Chapter 19 & 21
Quality Assurance & Management 

Quality of Design  & Quality of Conformance
User Satisfaction = Compliant Product + Good Quality +
Delivery Within Budget + Delivery On
Quality- Should Meet its Specification

Reasons Quality is Problematical

Customer Quality Requirements vs Developer Quality Requirements

Requirements Difficult to Specify

Specifications Incomplete Or Inconsistent

Quality Compromise

Quality Management More Than Reducing Defects
Software Quality Management

3 Major Software Quality Management Activities

Quality Assurance

Establish Organizational Procedures & Standards

Quality Planning & Quality Control

Quality Management Separate From Project Management

3 Major Costs - Quality

Prevention Costs, Internal Failure, External Failure,

Quality Costs Associated Prevention

Quality Planning

Formal Technical Reviews, Test Equipment, Training

Software Quality Failure Costs

Rework, Repair, Failure Mode Analysis

External Failure Costs

Complaint Resolution, Product Return and Replacement,
Help Line Support, Warranty Work

Why SQA Activities Pay Off?

6 Things To Include In The

Product Introduction, Product Plans, Process Descriptions,
Quality Goals, Risks and Risk Management

Quality Plans- Short, Succinct Documents

Web Reference Links

Evaluations Include

Audits and Reviews

Procedures for Error Reporting & Tracking

Role of the SQA Group

Software Quality Control

Quality Reviews

Automated Software Assessment

Metrics Derived from Reviews

The Measurement Process

Product Measurement Process Flowchart

Measurement Analysis

Measurement Surprises\

Software Reliability

Reliability is Mean-Time-Between-Failure (MTBF)

Reliability = MTBF = MTTF + MTTR

MTTF Mean-Time-To-Failure

MTTR Mean-Time-To-Repair

Availability = [MTTF/(MTTF + MTTR)] x 100%

Importance of Standards

Problems With Standards

Quality Assurance and Standards

Recommendations For Standards Development

Documentation Standards

Documentation Process Flowchart

Software Dependability

Software Complexity

Maintainability

Software Survivability

The Man-Month Myth

The Chameleon Myth

Chameleon Myth:

The Maintenance Myth

Maintenance Myth:

Dependability vs Performance

Dependability Economics

Safety Terminology

Security Terminology
 

 

 

SE-19-21-Software-Quality-Management-Assurance-Slides

   Read Chapters 19 & 21

User-Form-5-HW
Due 3/16

SE-19-21-Software-Quality-Management-Assurance-HW

Backup Purchase Order Files To Mars
 "Work In Progress"
When Done


Update The Class Diagram For Your Sub-System
Update The Architecture Diagram For Your Sub-System

# 15

3/16

TU

  
Quiz
5
(Database & Chapter 19-21)
Study Material From Last 3 Classes

In-Class Writing Requirements Lab

Design With Relationships & Indexing #1

Chapter 8
Understanding Requirements


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
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


Importance Of Relationship View
Simple Database Relationship Spans
SELECT * FROM A,B
SELECT * FROM A,B,C
NoRows & NoCols In Cross Join
Extraneous vs. Meaningful Data
Relationship Links
Meaningful Query Labels --> AS
Queries Within Queries
QUERY DESIGN
1 -- What Tables Are Needed
2- What Relationship Links Are Needed
3- What Data Are Needed
4- What Functions Are Needed
Fully Qualified Queries
Minimally Qualified Queries
Why Care - Why Reduce - Big Joins
Speed - Wear On Drives - Exhaust Memory
Include Only Those Fields Needed In Query
Queries That Include An Imbeded Query
Using An Alias To Specify Labels
Verify Your Queries
Review Distinct In Queries

 

   
VS-6-Supporting-Classes-Search-Delete-Tutorial

SE-08-Understanding-Requirements-Slides

User-Form-6-HW
Due 3/23


SE-08-Understanding-Requirements


Be Sure To Place The In-Class Lab
In Your To-Be-Graded-Folder

# 16

3/18

TH


Design With Relationships & Indexing #2

Importance Of Relationship View
Simple Database Relationship Spans
SELECT * FROM A,B
SELECT * FROM A,B,C
NoRows & NoCols In Cross Join
Extraneous vs. Meaningful Data
Relationship Links
Meaningful Query Labels --> AS
Queries Within Queries
QUERY DESIGN
1 -- What Tables Are Needed
2- What Relationship Links Are Needed
3- What Data Are Needed
4- What Functions Are Needed
Fully Qualified Queries
Minimally Qualified Queries
Why Care - Why Reduce - Big Joins
Speed - Wear On Drives - Exhaust Memory
Include Only Those Fields Needed In Query
Queries That Include An Imbeded Query
Using An Alias To Specify Labels
Verify Your Queries
Review Distinct In Queries



Cross-Joins-B-Tree-Indexing-Slides

 
UniversityLibrary3.zip


Architecture Diagram For Your Sub-System
Due 3/23

Class Diagrams For Your Sub-System
Due 3/23

# 17

3/23

TU

  
Quiz
6
(Database & Chapter 8)
Study Material From Last 3 Classes

B+ Trees
Key Sets
4 B+ Tree Requirements
M-1 KeySets
M Ptrs
ActNo Counter
All Nodes, Except Root, At Least Half Full
Insertion Into B+ Trees
Node File + Direct Access File
Root Node In Memory
Read-Write Buffers
Mechanical Hard Drive
Blocks 1K =1024 & 4K = 4096
Tracks-Sectors-Blocks
Solid State Drive SSD
Page 4096
Block 128 Pages
Calculate Optimal M
B+ Nodes - Avr/Max/Min Fill
Avr/Max/Min Fill At Each Level

Indexing
Describe User - Shows Indexes
CREATE INDEX FullName On User (FullName);
SHOW INDEX FROM User;
MySQL Vertical Displays \G
ALTER TABLE User DROP INDEX FullName;
When To Create Tables
REINDEX
Why Not Index All Of The Table Fields?
Indexing Takes Space!
Indexing Slows Down The Insertion Process!
Indexing Slows Down The Deletion Process!
Indexing Can Slow Down The Update Process!
What Should We Index?
All Fields Associated With Order By
All Fields Associated With Filters
All Fields Associated With Searches
WHERE Clauses
Queries Needed To Generate Reports
Queries Needed To Fill ComboBoxes
All Fields In Relationship Links

 




Cross-Joins-B-Tree-Indexing-Slides

   
User-Form-7-HW.zip
Start Working As A Team On 3/25
Due 4/1

# 18

3/25

TH


Mid Term Grades Due

Navigation Presentation

Chapter 35
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

 

Navigation In-Class Lab
Presentations Due Midnight 4/2

Cross-Joins-B-Tree-Indexing-Slides


SE-35-Software-Risk-Management-Slides

 Read Chapter 35





User-Form-7-HW.zip
Start Working As A Team On 3/25
Due 4/1

SE-35-Software-Risk-Management-HW

# 19

3/30

TU


 Quiz 7 (First 10 Minutes Of Class)
Study Material From Last 3 Classes

Team 1 Meeting

Team 2 Meeting


Presentations Due Midnight 4/2

 

# 20

4/1

TH


Team 3 Meeting

Team 4 Meeting

Chapter 31
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-31-Project-Management-Concepts-Slides

Read Chapter 31
   

Presentations Due Midnight 4/2

   
SE-31-Project-Management-Concepts-HW

Finalize Prototype, Class Diagrams,
Architecture Diagrams For
 
User Sub-System
Vendor Sub-System
Vendor Inventory

# 21

4/6

TU


 Quiz 8 (Chapter 31)

Finish Purchase Order Sub-System Design Configuration


Begin Software Testing
   Purchase-Order Demo Prototypes Work On Purchase Sub-System

4/7

W

Wed Classes Cancelled

Classes Cancelled

Classes Cancelled


# 22

4/8

TH

   
Chapters 22-23
Software Testing & Software Testing Strategies

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-22-23-24-Software-Testing-Path-Analysis-Slides

SE-22-23-24-Software-Testing-Strategies-Slides

Read Chapters 22-24

SE-22-23-24-Software-Testing-Strategies-HW

 

Finish Purchase Order System


# 23

4/13

TU

In-Class Bike Lab
Design Problem


   

 

Bike-Lab
Place In Personal To Be Graded Folder
On Mars By The End Of Class

# 24

4/15

TH

Classes Cancelled

Classes Cancelled

Classes Cancelled


# 25

4/20

TU


 Quiz 9 (Software Testing)

Go Over Bike Rental-Sales-Repair
In-Class-Lab

Meet With Team

Chapter 36
Software Maintenance & Reengineering

Software Configuration Items
Unit Of Information
Project Database
Data Repository Requirements
Repository Meta-model
3 Major Software Configuration Management Tasks
Version Control Software
Formal Software Configuration Management
Configuration Status Reporting
Change Is Going To Happen
Who Does Change?
CM / SCM
Software Support vs Software Configuration Management
The First Law => Bersoff
Reasons Change Is Inevitable
About Change Management
Software Change Strategies
Why Do Software Change Management
About Software Maintenance
Maintenance Is Inevitable
Why Do Software Maintenance
Software Maintenance Time Spent?
About Maintenance Costs
5 Major Maintenance Cost Factors
Program Evolution Dynamics
5 Lehman's Laws
Law of Continuing Change
Law Of Increasing Complexity
Law of Large Program Evolution
Law of Organizational Stability
Law of Conservation Familiarity
Software Change Requests
Change Request Acceptance
Change Control Process




SE-36-Maintenance-Reengineering-Slides


Read Chapter 36

   
SE-36-Maintenance-Reengineering-HW

# 26

4/22

TH


No Class
Complete Your Evaluation Of All Of The Navigation Presentations
In Your Class
Do The Evaluation Of Your Team's Presentation Last

Chapter 33
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-33-Estimation-For-Software-Projects-Slides 

Read Chapter 33
Navigation-Presentation-Peer-Evaluation-Rubric.
Mars --> Team Navigation-Presentation Folder
Place Your Evaluations In Your "To Be Graded Folder"


SE-33-Estimation-For-Software-Projects-HW

# 27

4/27

TU


  Quiz 10 (Chapters 33 & 36 Review Bike App)
Study Material From Last 3 Classes


Chapter 18
Mobile App Design



SE-18-Mobile-Apps-Slides

Read Chapter 18



SE-18-Mobile-Apps-HW

Work On Final Project

Final-Project-Pledge-Form

# 28

4/29

TH


Chapter 17
Web App Design

Internet
World Wide Web  Millions/Billions Connected
Internet Chaotic Growth
Chaotic Growth-->Parallels  -->
 “Early days of Software Development”
Little Discipline
Great Enthusiasm & Creativity
Programmers Hacked Together Systems
Get It Into The Field Attitude – Clean It Up Latter
WebE – Web Engineering – is a process used
 to create High Quality Web Apps.
WebE vs Software Engineering
Web Apps are Created By Teams of Web Engineers &
Non-Technical Content Developers.
WebE Encounters Many Traditional Application Types
WebE Application Categories-->
Informational,Transaction-Oriented,  Portal
Web Apps Dangers
 “Tangled Web”--> Hacked Together.
Problems-->lack of confidence
Problems-->governmental regulation
WebE Success Needs …
 Disciplined Approaches
 New Methods, Tools for Development, Tools for Deployment &
 Tools for Evaluation
WebE Tools Need
“New Web tools, Approaches, and Techniques
Emphasize--> Special Features of the New Media
Ever Changing Functionality of the New Media
Operational Environments
Security,
Many Different Types of Users
WebApps -->short for Web Applications
WebApps Encompass-->
Complete sites --> Simple sites --> Complex sites - E-Commerce
WebApps Are?
Content Driven, Continuously Evolving, Network Intensive
WebApp Myth
Incremental Model Best
Engineering Analysis, Design,& Testing --> adapted
Component-Based Development
 Agile Process Model!
Evolutionary Process Model & Others
Process Framework for WebE
Frequent Changes, Short Timelines,  Incremental Delivery
Goals and Objectives, Scope for First Increment
 Motivation for the WebApp
Why is the WebApp Needed?
Who will Use the WebApp?
Define Informational Goals
Define Applicative Goals
Ability to Perform Tasks within the WebApp
WebE Process Model:
Planning
 Estimate Project Cost
 Evaluate Risks
 Define Finely Granulated Schedule for First Increment
 Define Coarser Schedule for Subsequent Increments
WebE Application Categories
WebE Application Activities
WebE & Other Process Models
 Web Apps Testeing
 Web Apps Debugging
 Web Apps Scenario-Based
WebApp Historical
11 Fundamental WebApp Attributes
Network Intensiveness, Concurrency, Unpredictable Load
Performance, Availability, Data Driven, Content Sensitive

Continuous Evolution,  Aesthetics, Security, Immediacy
10 Most Common WebApp Categories
Informational, Download, Customizable,  Interaction, User Input
Transaction-Oriented,  Service-Oriented, Portal,
Database Access,Data Warehousing
Tools & Technologies
Content Description & Modeling Languages
Programming Languages
Content-Based Development Resources
Browsers – Web Page Rendering Software
Tools & Technologies - 3
Site Authoring Tools
Database Connectivity Tools
Security Tools
Web Servers
Site Management & Analysis Tools
Effective Web Engineering
The WebE Process Framework must accommodate:
Incremental Delivery

Frequent Changes
Short Timeline
Agile  Manifesto
Think About WebE
Satisfy the Customer
Welcome Change
Deliver Working Software Frequently
 Business People, and Developers, must work together
Face to face conversation.
 Maintain Software Development Pace
 Continual Attention to Technical Excellence
Simplicity
Self organizing teams.
5 Steps Of The WebE Process Framework
Customer Communication, Planning, Modeling
Construction, Delivery and Evaluation (Deployment)
About Customer Communication
About Planning
About Modeling
About Design Model
About Construction
About Delivery and Evaluation - Deployment
8 Basic Design Questions You Should Ask -->
Susan Weinshenk

 

SE-17-Web-App-Design-Slides

Read Chapter 18
SE-17-Web-App-Design-HW

Software Engineering Presentation Rubric
20-25 Minutes Ideal
30 Minute Max


Final-Project-Pledge-Form

# 29

5/4

TU

      

Quiz 11 (Chapters 17 & 18)

Review All Of The Purchase Order Forms
No One Form Has All Of The Functionality Demonstrated

Review Merging Form
Requirements & Process

Discuss 1 Main - Multiple Mains

Dr. Hicks Meet With Teams

Forms - Titles - Team vs Individual
Search -> First Example Word --> Multi-Search
Variations - Connor's

Purchase Order Sub-System
Do Not Have To Have 4 Examples - Extra Credit If Do
Do Not Need Quick Link Button
Should Have Several Filters => Will Discuss Vendors

 



Video: ImportingFormsFromOtherProjects.zip

        
 Purchase-Order

   Purchase-Order Demo Prototypes
 

Software Engineering Presentation Rubric

Final-Project-Pledge-Form

Finish Final Project Presentation
20-25 Minutes Ideal
30 Minute Max

# 30

5/6

TH

     

Software Project MP4 Presentations Will
Not Be Accepted After Midnight On 5-7

     Software Projects Will
Not Be Accepted After Midnight On 5-7

 

Chapter 30
Product Metrics



 



SE-30-Product-Metrics-Slides
 
Read Chapter 30

Folder on MARS; Team Final Presentations

Each Person Should Complete The Software Project
Rubric For All Team Presentations By
Noon 5/10 --> Do Your Team's Last!
Put In Your Personal Folders

20 Points

Software Engineering Presentation Rubric


SE-30-Product-Metrics-HW

R1

 

5/10

M


5/10




    READING DAY






    READING DAY



R2

5/11

TU





    READING DAY






    READING DAY






    READING DAY


+

No Assignments Will Be Accepted After Noon on 5/10