Friday 2/7
Kristen Laird
Wednesday 2/12
Blackboard Introductions!
Hands-on
Day!
Login to the GIBBS Cluster
Setup a Conda Environment
Create and Clone a Github Repository
C++ Session
Python Session
Requirements
Design
Implementation
Verification
Maintenance
Testing and Deployment
What?
How?
Build
More Testing / Evaluate
Bugs / New Features
Project Proposal
2/7
2/21
2/28
3/27
5/22
Team Selection
Client Presentations
Project Proposal
Revised Project Proposal
Final Project Documentation
No class
No class
No class
Project Presentations
5/04
No class
Project Proposal
Requirements Analysis
Specifications
Design: Architecture
Design: Modularity
UI Prototype
UML
Descriptions
Sketches
Workflows
Project Proposal
Software Requirements Specification
SRS
Industry Standard IEEE 29148
Requirements: Definition
Exact specifications of what the software should do!
Goals of the system!
First Part: WHAT Second Part: HOW
Project Proposal
Requirements
Design
Specifications /
Requirements: Importance
Time Upfront
Cost Overrun
0%
3%
5%
10-20%
200%
100%
50%
40%
A project always costs more!
First Part: WHAT
Project Proposal
Requirements
Specifications
Non-Technical!
Second Part: HOW
Technical!
Understandable by Non-Computer Scientists
Third Part: HOW IN DETAIL
Design
But not too detailed!
Implementation Details!
Input fields for two numbers that then are added.
Web-based form for client-side calculations.
HTML/CSS for UI and JavaScript for Logic. 2 Classes with attributes...
Requirements versus Specifications versus Design
Requirements
Specifications
Tire must work on an SUV-type automobile.
Tire must support 7,500 lbs of downward pressure.
Tire must fulfill all USDOT Standard for Mounting and Safety.
Tire must have T or greater speed capability.
Design
We will use synthetic rubber with carbon fiber treads.
Understandable by Non-Computer Scientists
Technical - But not too detailed!
Implementation Details!
Requirements versus Specifications versus Design
Requirements
Specifications
Users should be able to upload a video to a website.
Uploader should accept H.264, MOV, and MPEG files.
Uploader should compress the video.
User should receive email confirmation.
Design
We will use PHP and MySQL for the backend.
Understandable by Non-Computer Scientists
Technical - But not too detailed!
Implementation Details!
JavaScript / Ajax / SendMail
CS410 Template
Hands-on
Day!
Part III