• DocumentCode
    1205419
  • Title

    The state of design [software design]

  • Author

    Fowler, M.

  • Author_Institution
    ThoughtWorks
  • Volume
    22
  • Issue
    6
  • fYear
    2005
  • Firstpage
    12
  • Abstract
    A useful way to talk about design is to identify principles that lead to well-designed systems. This principle is relatively easy to understand, yet applying it in a determined effort to remove duplication in code often leads to effective designs. A central design idea is to break a system into modules that hide complex implementations behind clear interfaces. Object-oriented systems are well known for decomposing systems into small objects with interfaces, but we must treat these kinds of interfaces differently from those that are exposed across a network or shared between teams. A significant issue in software design is determining where design fits in the overall software process. Design involves people, so in addition to considering how design fits into a process, you also have to think about how it fits with an organization´s people. Three primary purposes for models: conceptual, specification, and implementation.
  • Keywords
    object-oriented methods; object-oriented programming; software engineering; conceptual design; object-oriented system; software implementation design; software process; specification design; Automatic testing; Documentation; Notice of Violation; Process design; Programming profession; Reflection; Runtime; Software design; Software testing; Writing;
  • fLanguage
    English
  • Journal_Title
    Software, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7459
  • Type

    jour

  • DOI
    10.1109/MS.2005.166
  • Filename
    1524907