As we just heard from Professor Bohem, software
engineering is an important and critical discipline, concerned
with cost effective software development. We also heard
that this is based on a systematic approach
that uses appropriate tools and techniques, operates under
specific development constraints. And most importantly, follows a
process. As we discussed in the previous lesson,
the software development process contains fundamental activities, or phases.
Since we will discuss several processes, I'm going to remind
you what these phases are. We start with requirements
engineering, followed by design,
implementation, verification and validation, and
finally maintenance. Note that we will revisit each of
these phases and devote an entire lesson or more
to each phase. So what I want to do next
is simply to give you a quick overview of
what these phases are. Note also that for now
I will follow a very traditional take on these topics. Later on in the
class we will see how things can change and did change over the years.