Guía De Programación

Páginas: 48 (11785 palabras) Publicado: 20 de noviembre de 2012
CHAPTER

"'\

13
KEY

DESIGN CONCEPTS AND PRINCIPLES
he designer's goal is to produce a model or representation of an entity that will later be built. The process by which the design model is developed is described by Belady [BEL81]:

CONCEPTS abstraction ... 342

architecture .... 346 (oupling ....... 354 (ohesion ....... 353 data structure .. 349 design (on(epts . 341 designheuristics 355 design principles 340 fUlKtional independence ... 352 information hiding ......... 351 modularity ..... 343 partitioning. , ... 348 quality (riteria .. 338 refinement ..... 343

T

[T]here are two major phases to any design process: diversification and convergence. Diversification is the acquisition of a repertoire of alternatives, the raw material of design: components, componentsolutions, and knowledge, all contained in catalogs, textbooks, and the mind. During convergence, the designer chooses and combines appropriate elements from this repertoire to meet the design objectives, as stated in the requirements document and as agreed to by the customer. The second phase is the gradual elimination of all but one particular configuration of components, and thus the creation ofthe final product.

Diversification and convergence combine intuition and judgment based on experience in building similar entities, a set of principles and/or heuristics that guide the way in which the model evolves, a set of criteria that enables quality to be judged, and a process of iteration that ultimately leads to a final design representation . software design, like engineering designapproaches in other disciplines, changes continually as new methods, better analysis, and broader understanding

I

QUICK LOOK

What is it? Design is a meaningful engineering representation of something that is to be built. It

apply to the application to be built. At the interface level. human ergonomics often dictate our design approach. At the component level, a "programming approach" leadsus to effective data and procedural deSigns. Why is it important? You wouldn't attempt to build a house without a blueprint. would you? You'd risk confusion, errors, a floor plan that didn't make sense, windows and doors in the wrong place .. . a mess. Computer software is considerably more complex than a house; hence, we need a blueprint-the design. What are the steps? Design begins with therequirements model. We work to transform this model into four levels of design detail: the data structure,

can be traced to a customer's requirements and at the same time assessed for quality against a set of predefined criteria for "good" design. In the software engineering context. design focuses on four major areas of concern: data, architecture, interfaces, and components. The concepts andprinciples discussed in this chapter apply to all four, Who does it? Software engineers design computerbased systems, but the skills required at each level of design work are different. At the data and architecturalleve!. design focuses on patterns as they

~

335

336

PART THREE

CONVENTIONAL METHODS FOR SOFTWARE ENGINEERING

QUICK LOOK

the system architecture, the interfacerepresentation, and the component level detail. During each

tecture, interfaces, and components. Each is a work product of the design process.
How do I ensure that I've done it right? At each

design activity, we apply basic concepts and principles that lead to high quality.
What is the work product? Ultimately, a Design Spec-

stage, software design work products are reviewed for clarity,correctness, completeness, and consistency with the requirements and with one another.

ification is produced. The specification is composed of the design models that describe data, archi-

evolve. Software design methodologies lack the depth, flexibility, and quantitative nature that are normally associated with more classical engineering design disciplines. However, methods for software design...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Guía de Programación
  • Guia Programacion
  • Guia de programacion
  • Guia de programacion
  • Guia programacion
  • Guia de programacion
  • Guia de programacion
  • Guia de programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS