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
Link To Document