CS 435 - Week 2 Lecture 1 - 2014-01-28 - in-class projections

------------------------------------
from Pfleeger and Atlee, "Software Engineering: Theory and Practice":

fault - "occurs when a human makes a mistake,
        called an error, in performing some
        software activities"

failure - "is a departure from the system's required
          behavior"

------------------------------------
SWEBOK - Software Engineering Body of Knowledge 
*   looks like it is overseen by the IEEE Computer Society;

*   from http://www.computer.org/portal/web/swebok/faq :

    "The Computer Society began defining this body of knowledge in
    1998 as a necessary step toward making software engineering a
    legitimate engineering discipline and a recognized profession. As
    software becomes the center of critical systems, it is only
    natural that standards of practice, knowledge, and training would
    arise in software engineering, as the usage section explains."
    
*   the PDF version of the SWEBOK Guide does appear to
    be free (although there is a terms of use -- possibly
    the most readable/straightforward I've seen --
    and you do provide your name and e-mail, and then
    they e-mail you a link to download from)

*   form for obtaining the PDF version of the SWEBOK Guide 
    is linked from:
    http://www.computer.org/portal/web/swebok

*   this is a resource that could be interesting;

----------------------------------
...recurring themes for software development:
*   quality
*   cost
*   schedule

    *   ...Jalote calls these the main forces that
        drive "industrial strength" software projects

    *   Extreme Programming: choose 2 of these 3?

----------------------------------
Defining quality can be ... interesting;
*   International Standards Organization (ISO)
    suggest some quality attributes for software:

    *   functionality -the capability to provide
        functions that meet stated and implied
	needs when the software is used

    *   reliability - the capability to provide
        failure-free service

    *   usability - the capability to be understood,
        learned, and used

    *   efficiency - the capability to provide appropriate
        performance relative to the resource used

    *   maintainability - the capability to be
        modified for purposes of corrections,
	improvements, and/or adaptations

    *   portability - capability to be adapted
        for different specified environments