CS4/542- Software Engineering. Software Design and Development Required Text -- Code Complete by Steve McConnell (Focuses on the problems of designing programs that WORK!) Recommended Text -- UML Distilled Second Edition by Martin Fowler. Software Engineering. CSE 4/542A
better known as:
The body of theory and practical techniques involved in the process of developing large scale software
It is difficult to grasp, weighs nothing and obeys the Second Law of Thermodynamics;
i.e., It ALWAYS increases.”
" a young person's skill. It requires intense concentration. To do a good job, you have to have your mind wrapped around the whole program. It's very easy to get distracted. You do things and forget about other things and end up with bugs. It's like running a marathon. You have to be constantly focused on the goal." NY Times
We DESIGN and DEVELOP software to solve problems.
" is figuring out the real problem people are trying to solve and the best way to solve the problem, which is not always the way they suggest."
Software Development is Technology in Crisis!
Writing Large-Scale Software is Problematic!
Is the creation of software
"the establishment and use of sound engineering principles in order to economically obtain software that is reliable and works efficiently on real machines."
"fabrication that takes away the uniqueness and magic of programming."
The larger the project, the more difficult the solution.
1) How does one design large-scale software?
2) We have an Aging Software Plant.
Is this true???
The primary challenge of the new century will be to improve the quality of computer-based solutions, while simultaneously reducing the time required to “create”them.
- these “solutions” are those implemented with software!