|
This week we will
try to clarify the very basics. So, please read carefully the questions
that follow. Then think about them, do your research, write up your
responses (on your own computer)
to ONE of the
sub-questions supporting it with examples,
and post them into the current conference (Week 1 > "Discussions 1".)
Q1.
What is Software
Engineering anyway?
Software engineering
is the process of designing software that makes software and the hardware
they control easier to control and manipulate. An example of this
could be as simple as adding a clock timer to automatically start a coffee
pot. The software engineers responsibility is to make the process
work easier and with less confusion than it may have been before.
Another instance evident in today's many software titles is the re-design
of software to be run on more complex machines. Many of us may be
aware that Microsoft released their Vista operating system this year.
One of the responsibilities of engineers may have been to make it function
better and with greater ease than other or previous operating systems.
Remember the days of BASIC, DOS, then the advent of the GUI with Windows
3.1? I sure do and they were not nearly as "fun" as the new Vista OS
is, with all it's bells and whistles to make the computing experience
totally immersive.
a) Why do we care
about it?
The goal of the software engineer is to
follow established design principles when designing their software.
If engineers didn't follow the established principles of abstraction,
encapsulation, modularity, and hierarchy, the things we use every day
would not function the way they are supposed to, as efficiently, as
inexpensively as we want them to. Additionally, I think that the
rate of development of consumer products would also be slowed if engineers
didn't follow the established principles (Cohoon, P.)
Cohoon, James P. (2006). Java 5.0
program design: an introduction to programming and object oriented
design. (1st Ed. update), (pp. 18-21).
Send me email
Visit my website
|