Site MapHelpFeedbackChapter Summary
Chapter Summary
(See related pages)

Overview
  • Software is designed and built by software engineers.
  • Software is used by virtually everyone in society.
  • Software engineers have a moral obligation to build reliable software that does no harm to other people.
  • Software engineers view "software" as being made up of the programs, documents, and data.
  • Software users are only concerned with whether or not software products meet their expectations and make their tasks easier to complete.
Important Questions for Software Engineers
  • Why does it take so long to get software finished?
  • Why are development costs so high?
  • Why can't we find all errors before we give the software to our customers?
  • Why do we continue to have difficulty in measuring progress as software is being developed?
Software
  • Software is both a product and a vehicle for delivering a product (information).
  • Software is engineered not manufactured.
  • Software does not wear out, but it does deteriorate.
  • Currently, most software is still custom-built.
Software Application Types
  • System software
  • Application software
  • Embedded software
  • Engineering/Scientific software
  • Product software
  • Web Applications
  • Artificial intelligence software
New Software Challenges
  • Ubiquitous computing
    • Creating software to allow machines of all sizes to communicate with each other across vast networks
  • Netsourcing
    • Architecting simple and sophisticated applications that benefit targeted end-user markets worldwide
  • Open Source
    • Distributing source code for computing applications so customers can make local modifications easily and reliably
  • New economy
    • Building applications that facilitate mass communication and mass product distribution using evolving concepts
Legacy software
  • Many programs still provide a valuable business benefit, even though they are one or even two decades old.
  • These programs must be maintained and this creates problems because their design is often not amenable to change.
Software Evolution
  • Process by which programs change shape, adapt to the marketplace, and inherit characteristics from preexisting programs
  • Law of continuing change
    • Systems must be continually adapted or they become progressively unsatisfactory
  • Law of increasing complexity
    • As system evolves its complexity increases unless work is done to reduce the complexity
  • Law of self-regulation
    • System evolution is self-regulating with its process and product measures following near normal distributions
  • Law of conservation of Organizational Stability
    • Average effective global activity rate for an evolving systems is invariant over the product lifetime
  • Law of conservation of familiarity
    • As system evolves all stakeholders must maintain their mastery of its content and behavior to achieve satisfactory evolution
  • Law of continuing growth
    • Functional content of system must be continually increased to maintain user satisfaction over its lifetime
  • Law of declining quality
    • System quality will appear to decline unless the system is rigorously maintained and adapted to environment changes
  • Feedback system law
    • System evolution processes must be treated as multi-level, multi-loop, multi-agent feedback systems to achieve significant improvement
Software Myths
  • Still believed by many managers and practitioners
  • Insidious because they do have elements of truth
  • Every practitioner and manager should understand the reality of the software business.
Software Creation
  • Almost every software project is precipitated by a business need (e.g., correct a system defect, adapt system to changing environment, extend existing system, create new system)
  • Many times an engineering effort will only succeed if the software created for the project succeeds
  • The market will only accept a product that has the software embedded when it meets the customer's stated or unstated needs







PressmanOnline Learning Center

Home > Chapter 1 > Chapter Summary