设计良好系统的基本原则

上传人:s9****2 文档编号:467347336 上传时间:2023-10-13 格式:DOCX 页数:28 大小:74.95KB
返回 下载 相关 举报
设计良好系统的基本原则_第1页
第1页 / 共28页
设计良好系统的基本原则_第2页
第2页 / 共28页
设计良好系统的基本原则_第3页
第3页 / 共28页
设计良好系统的基本原则_第4页
第4页 / 共28页
设计良好系统的基本原则_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《设计良好系统的基本原则》由会员分享,可在线阅读,更多相关《设计良好系统的基本原则(28页珍藏版)》请在金锄头文库上搜索。

1、December 2008 Vol. 20 No. 4 Engineering Management Journal外文资料Fundamental Principles of Good System DesignA. Terry Bahill, PE, University of ArizonaRick Botta, BAE SystemsAbstract: This article presents dozens of fundamental principles of good system design that should help make a product better. No

2、t surprisingly, many of these same principles will help make a product reusable in a new system and will help reduce redesign costs when requirements change. These principles apply to simple systems and complex systems. These principles come from hardware, software, system, and test design, but they

3、 are general and many can be applied in a large variety of fields (even non-engineering fields). Keywords: System Design, Reuse, Requirements, Systems of Complex SystemsEMJ Focus Areas: Systems EngineeringDesign is a creative activityconsequently, there is no process that will guarantee good designs

4、, but there are some principles that will increase the probability of getting a good design. This article presents dozens of fundamental principles of good system design that should help make a product better. Using these principles will also make a product more reusable for future systems and it wi

5、ll help reduce redesign costs when requirements change. Of course, the customer may mandate or exclude the use of some or all of these principles. Some of these principles are as follows:2Use models to design systemsUse hierarchical, top-down designWork on high-risk items firstPrioritizeControl the

6、level of interacting entitiesDesign the interfacesProduce satisficing designs Do not optimize earlyMaintain an updated model of the systemDevelop stable intermediatesUse evolutionary developmentUnderstand your enterpriseState what, not howList functional requirements in the use cases Allocate each f

7、unction to only one componentDo not allow undocumented functionsProvide observable statesRapid prototypingDevelop iteratively and test immediatelyCreate modulesCreate libraries of reusable objectsUse open standardsIdentify things that are likely to changeWrite extension pointsGroup data and behavior

8、Use data hidingWrite a glossary of relevant termsEnvelope requirementsCreate design marginsDesign for testabilityDesign for evolvabilityBuild in preparation for buyingCreate a new design processChange the behavior of people天津大学2008届本科生毕业论文These design principles come from the experience of hundreds

9、of engineers and managers. The particular references cited in the following paragraphs are not meant to be the authoritythey are merely examples that have references in the literature.Use models to design systems: System design can be requirements based, function based, or model based. Model-based s

10、ystem engineering and design has an advantage of executable models that improve efficiency and rigor. One of the earliest developments of this technique was Wymores (1993) book entitled Model-based System Engineering, although the phrase “model-based system design” was in the title and topics of Ros

11、enblits (1985) PhD dissertation. Model-based systems engineering depends on having and using well-structured models that are appropriate for the given problem domain (Bahill and Szidarovszky, 2008). Bahills models start with the use cases.Use hierarchical, top-down design: Early on, translate the cu

12、stomers needs into goals, capabilities, and functions; these provide guidance for all future development. Work on high-level functions first because, although high-level functions are less likely to change, when they do change, they force changes in many other functions. Decompose systems into subsy

13、stems, subsystems into sub-subsystems, etc. (Chapman and Bahill, 1992). In software, this decomposition is called layered architecture (Evans, 2004). Implementation is simpler if the dependencies and action initiations between these layers are unidirectional.Work on high-risk items first: Work on hi

14、gh-risk items first in order to reduce risk; in addition, high-risk items are more likely to change, thereby producing changes in other entities, so working the high-risk items first will reduce the rework due to changing requirements. Furthermore, if it was impossible to satisfy the high-risk capab

15、ilities and the project was cancelled, you will have saved the money that otherwise would have been squandered satisfying low-risk requirements (Jacobson, Booch, and Rumbaugh, 1999). The original spiral model of Boehm (1988) advocated risk-driven development.Prioritize: Requirements, goals, customer

16、 needs, capabilities, risks, directives, initiatives, issues, activities, features, functions, use cases, technical performance measures, and weights of importance for the criteria in tradeoff studies should all be prioritized. Prioritization will help with budget, schedule, system architecture, customer satisfaction,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号