Development and maintenance of reliable software with minimum cost and effort
What does it take to develop a sofware product and ship it out of the door to a customer ?
Project Management and Development Practice
On demand or Just in time software system
Very high-level language
IBM Cleanroom Method
No software development follow explicitly any of the paradigms and the models are conceptual only.
Keep It Simple Students (Keep It Simple Sir)
Powerful ideas are usually simple
Complex techniques usually failed, too much overhead, staffs resist
This is the traditional model, which most of the business used over the years.
Requirement analysis and specifications
Maintenance and evolution
Structured Programming, Structured Analysis
Code Generation: WinObj, NetObj, Stored Procedure generation
4th Generation Languages, SQL Windows, PowerBuilder?
Knowledge-Based Systems, PROLOG, GUI, Programming Environments
Porting/Hacking, Micro-management of development cycle (tail-end, front-end), DCG, Software Inspections, Super programmer, talents
Object-Oriented Analysis, Design, Programming, Testing and Maintenance, Framework, and Software Reusability.
Processes, Testing (Unit Test, Component Test, System Test, Product Level Test, Stress Test, Performance Test, Regression Test, etc)
Program Verification, Formal Methods.
Java, CORBA, Internet, Intranet
Component Engineering, Software Architecture, Software Reusability
Software development and maintenance processes
Configuration control (CMVC)
Testing Cycle - End Product is what the customer see ...
You must give reasons in this class
The goal is always
Must be simple (to learn and to use) but effective
Learn to trend, technologies available, model, principle and implementation experience
All materials are from work experience, software engineering books and ideas & notes from my advisor in University of Minnesota