Systematic OO Programming with Axiomatic Design
نویسندگان
چکیده
A xiomatic design offers a systematic and orderly way to proceed through the software development process. The methodology ensures that developers make the best possible design decisions by providing decision-making criteria in the form of two axioms: • The independence axiom suggests that the best designs maintain the independence of the functional requirements, ensuring that the design can achieve each function without inadvertently affecting any other function. • The information axiom suggests that the best designs minimize their information content. Thus, the solution with the greatest likelihood of success is the simplest solution. Software developers can • determine the quality of the design based upon the degree to which it satisfies the defined functional requirements ; • ensure that the design satisfies each function independently and that coupling, which could cause unin-tended consequences, does not occur; • enjoy easier job assignment and team management because they can use the system architecture diagram to assign tasks and define the interrelationships between various modules or classes; and • handle software change orders quickly and easily because the system architecture identifies the modules affected by a change. Axiomatic design lets the developer document the design fully, making it easier to change or add extensions. Chronologically, axiomatic design begins with a thorough investigation of customer attributes to discover cus-tomers' needs. Developers note these needs, then determine the design's functional requirements (FRs) by answering the question, " What must this design do to satisfy our customers' needs? " Developers determine the answers and record the results as FRs in the left column of a design matrix. Across the top of the matrix, developers record the design parameters (DPs)Ñ physical solutions that satisfy each functional requirement. More than one design parameter may satisfy a particular function, but the information axiom will help determine the best solution. Developers may indicate a relationship between the functional requirement and the design parameter with an X in the matrix or with an equation. The matrix lets the developer check that each design parameter satisfies only one functional requirement. Developers decompose the design, working through each part to determine the subfunctional requirements and subdesign parameters of their previous design decisions until they've completed the entire design. The V-shaped diagram in Figure 1 shows the axiomatic development process for software. Some software development tools begin at the bottom of the V with module definition, giving little attention to top-down conceptual design. Axiomatic …
منابع مشابه
A Systematic Approach in Object-Oriented Design Heuristics Teaching
In the last few years, there has been growing enthusiasm, for objectoriented (O-O) approaches to information systems. There have been significant advancements in all areas of object-oriented information systems from programming to analysis, design and development. Considering the difficulty students face adopting the Object-Oriented (OO) concepts and techniques, this paper presents a systematic...
متن کاملObject - Oriented Paradigm
The object-oriented OO paradigm took its shape from the initial concept of a new programming approach, while the interest in design and analysis methods came much later. OO analysis and design paradigm is the logical result of the wide adoption of OO programming languages.
متن کاملComplexity Theory in Axiomatic Design
During the last couple of decades, the term complexity has been commonly found in use in many fields of science, sometimes as a measurable quantity with a rigorous but narrow definition and other times as merely an ad hoc label. With an emphasis on pragmatic engineering applications, this thesis investigates the complexity concept defined in axiomatic design theory to avoid vague use of the ter...
متن کامل“ The Reference Architecture Representation Environment ( RARE ) Systematic Derivation of Object - Oriented Systems
The use of object-oriented (OO) methodologies for software design has become increasingly popular in the last ten years. OO is perceived as providing many benefits, including reusability, modularity, avoidance of duplication, reliability, flexibility for expansion, and portability. To reap these benefits, careful attention must be paid to define a set of objects which sufficiently model the res...
متن کاملFrom Procedures to Objects: What Have We (Not) Done ?
Programming education has experienced a shift from imperative and procedural programming to object-orientation. This shift has been motivated by educators’ desire to please information technology industry and potential students; it is not motivated by psychology of programming nor by computer science education research—there are practically no results that would indicate that such a shift is de...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- IEEE Computer
دوره 32 شماره
صفحات -
تاریخ انتشار 1999