Software is a program designed to solve a problem or fill a niche. Usually, software development goes through the following phases.
Before you can solve a problem, you must identify what that problem really is. We need to identify the following things if we want to make a useful product:
User - Is this designed for
We have discussed development of software from the point of view of the programmer and the whole lifecycle. However, we should also look at how this development appears at the management level.
This is the most hated development model, and rightly so.
This development model assumes that we take each stage on in one go, work
In the past few posts, we have considered that programs can be composed of smaller parts. The ability to reduce a program to a collection of smaller, connected algorithms is known as modularity.
When we consider a set of modules (smaller algorithms which are connected to form a program), we can consider a measure of
Quality often looks like a buzzword to programmers and users. What is quality, we wonder, and how can we honestly know whether a product is quality? We have three measures in the software world for quality: operability, maintainability, and transferability.
Operability refers to how the system operates (kind of self-explanatory). While there are many subjective
If I hand you a black box with one unlabeled button, what do you think that box can do? How do you think the box works?
Unfortunately, programs are essentially black boxes. Unless you have either written or read the entire source code, you can't really know how the system is supposed to work.
I feel really good today. Can you guess why?
That's right, I think I've covered everything you need to know to get started in Computer Science! This marks the end of my CS 101 posting!
At this point, I think I'm ready to start turning these posts into my first book, <Title to be determined>. That's
Includes never-before-published section on Networking and a rich