After we have designed our system we can implement
it. In the implementation phase what we do is basically
taking care of realizing the design of the system
that we just created and create an actual software system.
There are four fundamental principles, four pillars that can
affect the way in which software is constructed. The first
one is the reduction of complexity. This aims to build
software that is easier to understand and use. The second
pillar is the anticipation of diversity. Which takes into
account that software construction might change in various way over
time. That is that software evolves. In many cases,
it evolves in unexpected ways. And therefore, we have to
be able to anticipate some of these changes. The
third pillar is the structuring for validation. Also called design
for testability. And what this means is that we
want to build software so that it is easily testable
during the subsequent validation and verification activities. Finally, and
this is especially true within specific organizations and or
domains. It is important that the software conforms to
a set of internal or external standards. And some examples
of this might be, for example, for internal standards,
coding standards within an organization, or naming standards within an
organization. As for external standards, if for example you
are developing some medical software. There are some regulations and
some standards that you have to adhere to in
order for your software to be valid in that domain.