Software Engineering
Dr. Tom Hicks - Trinity University - CSCI 3321 -  Spring 2019

We Would Like To Thank Premium Soft & Spectral Core For Providing Software For Our Student Database Labs!
Navicat Is An Important Contribution To Both The Database Design Class & The Software Engineering Class

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

# Topic(s) Reading Assignments
 & Handouts
Laboratory Assignment

#1

1/17

TH



Introduction To Class

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


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


Intro-To-Form-Design-Guidelines  Slides  PDF



Read
Chapter 1 & 2 Of Text
 

Questionnaire 11:20

Questionnaire 12:45

SE-01-02-Software-And-Software-Engineering-HW

 

Optional: Extra Credit Visual Studio Install

Optional: Extra Credit  MySQL-Installation


# 2

1/22

TU


 Review Database Concepts From 2320
DBMS - Database Management System
MSQL Login
SQL - Structured Query Language
SHOW DATABASES
CREATE DATABASE
USE
DROP DATABASE
CREATE TABLE
ID INT AUTO_INCREMENT PRIMARY KEY
CHAR vs VARCHAR
INSERT INTO
MySQL Workbench
IMPORT Database
SHOW TABLES
SHOW FIELDS IN
DESCRIBE
SELECT *
SELECT a,b,c

Work On C# Tutorial #1

VS-1-SE-Basic-Form-Tutorial

UniversityLibrary.zip

Windows Forms Application 1-HW


# 3

1/24

TH



SELECT TEAM LEADERS

Review Database Concepts From 2320
SELECT COUNT(*)
SELECT COUNT(FullName)
SELECT * FROM x WHERE (cond1)
SELECT * FROM x WHERE (cond1) AND (cond2)
SELECT * FROM x WHERE (cond1) OR (cond2)
SELECT * FROM x WHERE NOT (cond1)
AND --> && OR --> || NOT --> !
5 <> 7 --> Not Equal11
% 5 --> mod(11,5)
FullName LIKE "A%"
ORDER BY FullName
ORDER --> ASC & DESC
LIMIT 10
LIMIT 0,10
LIMIT 0,1 --> 1,1 --> 2,1

Work On C# Tutorial #2

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

 


VS-2-Buttons-TabFrame-Form-Tutorial


SE-03-04-Software-Process  Slides  PDF

Read Chapters 3-4

UniversityLibrary.zip

Windows Forms Application 2-HW

SE-03-04-Software-Process-HW

# 4

1/29

TU

  
TEAM SELECTIONS

Intro To Design I - Project Overview

Avoid Redundant Copies Of Data
Begin With End In Mind
Final Project ==> FP-->
FP--> MDI Container
FP --> High Level Architecture Diagram
[Sub-Systems Boxed]
FP--> Non-Techie Interface Goals
Easy To Use
No Manuals
No Training
FP--> Excel - Class Diagrams
Numeric Searching Faster Than Text Searching
Uniquely Identify Every Record
ComboBox - bind Description & Number
for each Selection
from Code, File, or Table
UserType Supporting Class
Admin--> Add, Edit, Deletere
FP--> Low Level Architecture Diagrams
Communicate Functionality
Supporting Class on LL AD
FP--> Navigation Buttons
FP--> Quick Link Buttons
FP--> Simple Searches

Work On C# Tutorial #3

 


Intro-To-Design-1-Project-Overview  Slides  PDF


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



Windows Forms Application 3-HW


# 5

1/31

TH

 

Elementary Library Class Diagrams 1
In-Class Team Lab

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

Work On C# Tutorial #4

 

 

VS-4-Views-ViewMode-EditMode-Tutorial

SE-05-Agile-Development-Real-Time-Systems  Slides  PDF

Read Chapters 5

 

 

 


Elem-Lib-Class-Diagram-1-In-Class-Lab

In-Class Team Lab --> Due Today

Windows Forms Application 4-HW

Start Working On HW - Due 2/12

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

# 6

2/5

TU

 

Finish On C# Tutorial #4

Negotiate Projects With Dr. Hicks

 

VS-4-Views-ViewMode-EditMode-Tutorial

 

Windows Forms Application 4-HW
Due 2/12

Project-Negotiation-In-Class-Lab
Due Today

 Study For Exam


# 7

2/7

TH


Review Database Concepts From 2320
SELECT CONCATENATE
SELECT LEFT
SELECT RIGHT
UPDATE ... SET
SELECT UPPER/UCASE
SELECT LOWER/LCASE
SELECT ASCII
SELECT FLOOR
SE;ECT CEILING
SELECT RAND
Floor(Rand() * NoEvents + Low)
SELECT MID
SELECT SUBSTRING
DELETE
UNDELETE - WITH DELETION FLAG
SELECT SUM
SELECT MIN
SELECT MAX
SELECT AVG
SELECT LENGTH
Filling A Variable/ALIAS

Exam I
[Chapters 1-5]

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 

 SE-15-User-Interface-Design   PDF

 Read Chapters 15

Team-x-Architecture-Diagrams-1


Windows Forms Application 4-HW
Due 2/12

Proj-Sub-System-Lead-Team-Lab 


SE-15-User-Interface-Design-HW 

# 8

2/12

TU

 

Elementary Library Class Diagrams 2
In-Class Team Lab

Work On Class Diagrams For
Project As Time Permits

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
 

 

SE-13-Architectural-Engineering-Design  Slides

VS-5-DataGrid-Supporting-Windows-Tutorial 


Elem-Lib-Class-Diagram-2-In-Class-Lab
In-Class Team Lab --> Due Today

SE-13-Architectural-Engineering-Design-HW


Windows Forms Application 5-HW
Due 2/26



# 9

2/14

TH

 

Elementary Library Architecture Diagram
In-Class Team Lab

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

 

SE-08-Understanding-Requirements  Slides
Elem-Lib-Architecture-Diagram-In-Class-Lab
In-Class Team Lab --> Due Today

SE-08-Understanding-Requirements-HW


TomH-Final-Project-AD-CD-Sub-System-1-Lab
Due 2/19


Windows Forms Application 5-HW
Delay - Date Extended - Due 2/26

# 10

2/19

TU

  
  Database Cross-Joins
Importance Of Relationship View
Simple Database Cross-Joins
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

   

  Windows Forms Application 5-HW
Due 2/26

# 11

2/21

TH

 
Teams Work On Partitioning Final
Reveiw Sub-Systems ADs & CDs

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

 



SE-35-Software-Risk-Management  PDF
SE-35-Software-Risk-Management-HW

Windows Forms Application 5-HW
Due 2/26

# 12

2/26

TU


Review Cross-Join Relationships

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

UniversityLibrary3.zip


Cross-Joins-B-Tree-Indexing-HW


Cross-Joins-B-TreeIndexing-HW.docx

# 13

2/28

TH

Writing Requirements & Specifications
 
Exam 2 Class Diagram Design Problem


 
Demo-Elementary-Library-Requirement-Add-User

  Requirements-Specifications-Lab.zip 

 

Requirements-Specifications-Lab
Due 3/5
# 14

3/5

TU

 

Navigation Prototype

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

    

Navigation-Presentation-Rubric

Navigation Rubric

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

Navigation-Presentation-HW
Will Do 3/21

SE-19-21-Software-Quality-Management-Assurance-HW
Due 3/19

# 15

3/7

TH

 

Exam II
[Chapters 8, 13, 15, 35]
[Database Queries, Cross-Joins,B+Tree,  Indexing,
Architecture Diagrams, Class Diagrams]

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 SE-36-Maintenance-Reengineering-HW
Due 3/19

# 16

3/12

TU

Spring Break
   


 

# 17

3/14

TH

Spring Break



   


# 18

3/19

TU

Individual Team Design Meetings



   
Prepare For Navigation Presentation
Finish Up Chapter Questions

# 19

3/21

TH



Navigation Presentations
[Team 3, Team 4, Team 2, & Team 1]

Chapter 20A
Design With Reuse

Engineering Principles
About Reuse
Better Spftware - More Quickly - Lower Cost
Reuse Systems/Modules/Components/Functions
Application System Reuse
Component Reuse
Function Reuse
Increased Reliability
Reduced Risk
Reuse Components
Standards Compliance
Reuse Specifications/Requirements
Find Components?
Confidence In Component?
Documented Components?
Maybe Increased Maintenance Costs?
Maybe Lack Of Tool Support?
Maybe Not-Invented-Here Syndrome?
Maybe Maintaining Component Library?
Maybe Finding & Adapting Components?
Program Generators
Application Generator
Parser & Lexical Analyzer Generator
Code Generators
About Components
Independent Executable Entity
Published Interface
Component Size
CBSE Component Based Software Engineering
CBSE Relies On Reuse
Component Based Development
CBSE Components More Abstract
Reuse With Other Process Models
Reuse Driven Development Requirements
CBSE Prototyping
CBSE Problems
Problem With Incompatabilities
Problem Finding & Understanding Components
Problem Managing Evolution
About Application Frameworks
System Infrastructure Frameworks
Middleware Integration Frameworks
Enterprise Application Frameworks
Framework Extensions
COTS - Commercial Off The Shelf
Integrating COTS
Problem Lack Of Control
Problem Difficult Interface Interaction
Problem No Control Over Evolution
Problem No Control Over Support
Generalize Components
Generic - Often Costs More
Generic Sometimes Less Space Efficient
Generic Sometimes Slower
Name Generalization
Operation Generalization
Exception Generalization
Component Certification
Application Family -  Product Line
Platform Specialization
Configuration Specialization
Functional Specification

 




SE-20A-Design-With-Reuse-Slides








SE-20A-Design-With-Reuse-HW

Final-Project-AD-CD-Prototype-Sub-System-2-Lab
Due 3/28



# 20

3/26

TU


Project Management In The Real World
Mr. Doug Conyers
CEO/Partner BJN Technologies






Final-Project-AD-CD-Prototype-Sub-System-2-Lab
Due 3/28
# 21

3/28

TH

 
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








SE-31-Project-Management-Concepts-HW




# 22

4/2

TU


Exam 3 Architecture Diagram Design Problem


   
 

# 23

4/4

TH

   Exam III
[Chapters 19, 21, 20A, 31, 36
Architecture Diagrams, Class Diagrams, Prototypes, Design]
 

Work On
Final Project


# 24

4/9

TU

   
Software Engineering In The Real World

Mr. Matt Reedy

Chapter 17
Web App Design

Jacob Nielsen
Two Approaches To Design
Artistic vs Engineering
What Is Web App
Poster Child For Limited Design
Who is on WebApp Team
WebApp Designer(s)
WebApp Programmer(s)
Graphic Designer
Stakeholder Representative
WebApp Rendered In Browser
Coded With Browser Supported Language
PHP/ASP/JSP/ASPX/JavaScript
6 Major WebApp Design Steps
Content Design, Aesthetic Design, Architecture
Design, Interface Design, Navigation Design,
Component Design
Susan Weinschenk
WebApps to Fit Natural Human Behavior
5 Software Quality Characteristics Of WebApps
Usability, Functionality, Reliability, Efficiency, & Maintainability
9 Questions That Form The WebApp Quality CheckList
Taylor Content, Function & Navigation
Customized To Fit Bandwidth
Graphics Used Appropriately
Tables Organized & Sized Well
HTML Optimized
Easy To Read & Navigate
Links Interesting
Working Links
Site Management Utilities
4 WebApp Goals
Simplicity, Consistency, Navigability, Visual Appeal
WebApp Robustness
Relevant Content & Functionality
Intuitive & Predictable Navigation
Visually Appealing, Aesthetic, Layout
Compatibility in All Environments
Security To Rebuff External Attacks
Security To Exclude Unauthorized Access
Security To Ensure Privacy of Users
24/7/365  Availability
Appropriate Scalability
Time To Market
8 Questions To Help Assess Quality
Scope & Content Meets User Needs
Authority, Who Developed , Available?
Possible to Determine Currency of Content?
Version Control Software?
Content & Location Stable?
Content Credible?
Content Provide Benefit?
Content Valuable>
Content Well Organized & Easily Accessible?
WebApp Design Pyramid
Every WebApp UI should be
Easy to Use, Easy to Learn, Easy to Navigate, Intuitive, Consistent, Efficient, Error-free, Functional
3 Questions Interface Design Should Answer
Where I Am, What I Can Do, Where I Have Been & Going
Anticipate Users Next Move
Communicate Navigation Controls
WebApp Design Principles
Anticipation, Communication, Consistency, Controlled Autonomy, Efficiency, Flexibility, Focus, Fitt’s Law, Human Interface Objects, Latency Reduction, Learnability, Metaphors, Maintain Work Product Integrity, Readability, Track State, Visible Navigation
Interface Design Workflow
Aesthetic Design
Layout Issues
White Space, Emphasize Content, Organize Content, Avoid Scroll Bars, Consider Window Size
9, 1Graphic Design Issues
Layout, Global Color Schemes, Typefaces, Sizes, Styles
Use of Supplementary Media
Content Design Issues
 

 



SE-17-Web-App-Design-Slides
Work On
Final Project

SE-17-Web-App-Design-HW

# 25

4/11

TH

Purchase Order Processing # 1
In-Class Lab




Purchase-Order-Design-In-Class-Lab-1

SE-18-Mobile-Apps-Slides

   

 

 

 SE-18-Mobile-Apps-HW

 


# 26

4/16

TU


Purchase Order Processing # 2A
In-Class Lab

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
 


Purchase-Order-Design-In-Class-Lab-2A

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



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

# 27

4/18

TH



Software Testing Flow Chart
Path Analysis

Purchase Order Processing # 3
In-Class Lab

 

 Purchase-Order-Design-In-Class-Lab-2B  

# 28

4/23

TU


Software Project Cost Estimation In The Real World
Mr. Dan Cornell
Principal Partner Denim Group

Software Cost Estimation Will
Not Be On Exam IV
 

Study For Exam


# 29

4/25

TH


Decide Presentation Order

Exam IV
(Chapters 17, 18, 22, 23
Architecture Diagrams, Class Diagrams, Prototypes, Software Design]


Software Cost Estimation Slides Software Cost Estimation HW
Due By Noon on 5/6

Prepare For Presentation

# 30

4/30

TU

  Final Project Presentations
80 Points   



Software Engineering Rubric
20 Points If Complete 3 Rubrics

 

 Purchase-Order-Design-In-Class-Lab-3
Due By Noon on 5/6

# 31

5/2

TH

     Final Project Presentations
80 Points



Software Engineering Rubric
20 Points If Complete 3 Rubrics

Software Metrics Slides


 

Optional Software Metrics HW
For Those Who Have Missed A HW Assignment

R

5/6

M





    READING DAY






    READING DAY






    READING DAY



R

5/7

TU





    READING DAY






    READING DAY






    READING DAY


+

No Assignments Will Be Accepted After Noon on 12/7