Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

See if the definition of Software Engineering Makes Sense:

0 views
Skip to first unread message

Peter Olcott

unread,
Jan 28, 2012, 12:49:02 PM1/28/12
to
BlackBox
Any unit of abstract or concrete software functionality
having:
(a) Pre Condition
(b) Processing
(c) Post Condition

Software Engineering
(a) The formation of BlackBoxes (units of functionality)

(b) The formation of mathematical mappings between
BlackBoxes, generally
proceeding from the more abstract/less specific to
less abstract/more specific.

http://en.wikipedia.org/wiki/Hoare_logic
http://en.wikipedia.org/wiki/Correctness_of_computer_programs


Tom

unread,
Jan 29, 2012, 3:06:26 PM1/29/12
to
"Peter Olcott" <NoS...@OCR4Screen.com> wrote in
news:WIudnXTMLMNoqbnS...@giganews.com:
I think black boxes distorts the concept by trying to specify a method.
I prefer something more like "Software Engineering is the study of
optimal well-defined processes for producing software through all phases
of its lifetime." No one process is optimal for all situations.

Tom

PeteOlcott

unread,
Jan 30, 2012, 11:31:04 AM1/30/12
to
On Jan 29, 2:06 pm, Tom <rab...@thehole.com> wrote:
> "Peter Olcott" <NoS...@OCR4Screen.com> wrote innews:WIudnXTMLMNoqbnS...@giganews.com:
>
>
>
>
>
> > BlackBox
> > Any unit of abstract or concrete software functionality
> > having:
> > (a) Pre Condition
> > (b) Processing
> > (c) Post Condition
>
> > Software Engineering
> > (a) The formation of BlackBoxes (units of functionality)
>
> > (b) The formation of mathematical mappings between
> > BlackBoxes, generally
> >       proceeding from the more abstract/less specific to
> > less abstract/more specific.
>
> >http://en.wikipedia.org/wiki/Hoare_logic
> >http://en.wikipedia.org/wiki/Correctness_of_computer_programs
>
> I think black boxes distorts the concept by trying to specify a method.

When I defined my term "BlackBox" it explicitly included many things
besides functions.
The term "abstract" (within this definition) is meant to include
specifications and diagrams written for human consumption.

The term "concrete" is meant to include any unit of software
functionality having a
(a) Pre Condition
(b) Processing
(c) Post Condition

This can be anything from a single line-of-code to an entire software
system and anything in-between.

> I prefer something more like "Software Engineering is the study of
> optimal well-defined processes for producing software through all phases
> of its lifetime."  No one process is optimal for all situations.
>
> Tom- Hide quoted text -
>
> - Show quoted text -

PeteOlcott

unread,
Feb 1, 2012, 8:03:50 AM2/1/12
to
On Jan 29, 2:06 pm, Tom <rab...@thehole.com> wrote:
> "Peter Olcott" <NoS...@OCR4Screen.com> wrote innews:WIudnXTMLMNoqbnS...@giganews.com:
> Tom- Hide quoted text -
>
> - Show quoted text -

I was trying to define "Software Engineering" in a way to provide the
basic infrastructure required for formal methods of validation. The
ideal goal of this infrastructure is to provide the means for
automated proof of correctness. One of the requirements for this is
that the specification and the implementation must look at the
software system in the same way.

It would seem that the simplest possible way to look at a software
system would be as a BlackBox that has an InitialState, Processing and
a FinalState. This point of view could form the lingua franca to unify
the specification with the implementation.

Leif Roar Moldskred

unread,
Feb 6, 2012, 6:08:34 AM2/6/12
to

You might as well define engineering as "the art of making
gizmos". True, to a certain extent, but not in any way useful.

--
Leif Roar Moldskred
0 new messages