南京网站开发,六安城市网怎么样,如何开发自己的小程序,百度知道官网登录入口系列文章目录
系统架构设计专业技能 软件工程#xff08;一#xff09;【系统架构设计师】 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA#xff08;一#xff09;【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估#xff08;…系列文章目录
系统架构设计专业技能 · 软件工程一【系统架构设计师】 系统架构设计高级技能 · 软件架构概念、架构风格、ABSD、架构复用、DSSA一【系统架构设计师】 系统架构设计高级技能 · 系统质量属性与架构评估二【系统架构设计师】 系统架构设计高级技能 · 软件可靠性分析与设计三【系统架构设计师】 系统架构设计专业技能 · 软件工程之系统分析与设计二 系列文章目录六、系统设计软件设计一、软件架构设计二、 用户界面设计/人机界面设计三、 结构化设计四、 面向对象的设计4.1 类的分类 六、系统设计
系统设计是系统分析的延伸与拓展。系统分析阶段解决“做什么”的问题而系统设计阶段解决“怎么做”的问题。同时它也是系统实施的基础为系统实施工作做好铺垫。合理的系统设计方案既可以保证系统的质量也可以提高开发效率确保系统实施工作的顺利进行。
系统设计阶段又称为物理设计阶段它是信息系统开发过程中一个非常重要的阶段。其任务是根据系统规格说明书中规定的功能要求考虑实际条件具体设计实现逻辑模型的技术方案也就是设计新系统的物理模型为下一阶段的系统实施工作奠定基础。
系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计它是系统开发过程中很关键的一步其主要任务是将系统的功能需求分配给软件模块确定每个模块的功能和调用关系形成软件的模块结构图即系统结构图。在概要设计中将系统开发的总任务分解成许多个基本的、具体的任务为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。根据任务的不同详细设计又可分为多种例如网络设计、代码设计、输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。
软件设计
软件设计包括体系结构设计、接口设计、数据设计和过程设计。
结构设计定义软件系统各主要部件之间的关系开发一个模块化的程序结构并表示出模块间的控制关系。数据设计将模型转换成数据结构的定义。高质量数据设计将改善程序结构和模块划分降低过程复杂性。接口设计人机界面设计软件内部、软件和操作系统间以及软件和人之间如何通信。过程设计系统结构部件转换成软件的过程描述。
一、软件架构设计
软件架构 软件体系结构
架构设计就是需求分配即将满足需求的职责分配到组件上。
二、 用户界面设计/人机界面设计 以上三条原则由著名用户界面设计专家Theo Mandel博士所创造通常称之为人机交互的“黄金三原则”。另外在设计用户界面时还需要保证界面的合理性和独特性有效进行组合注重美观与协调恰到好处地提供快捷方式注意资源协调等。
三、 结构化设计
结构化设计Structured DesignSD是一种面向数据流的方法它以SRS和SA阶段所产生的数据流图和数据字典等文档为基础是一个自顶向下、逐步求精和模块化的过程。SD方法的基本思想是将软件设计成由相对独立且具有单一功能的模块组成的结构分为概要设计和详细设计两个阶段其中概要设计的主要任务是确定软件系统的结构对系统进行模块划分确定每个模块的功能、接口和模块之间的调用关系详细设计的主要任务是为每个模块设计实现的细节。
概要设计 概要设计又称为系统总体结构设计它是系统开发过程中很关键的一步其主要任务是将系统的功能需求分配给软件模块确定每个模块的功能和调用关系形成软件的模块结构图即系统结构图。
系统结构图Structure ChartSC又称为模块结构图它是软件概要设计阶段的工具反映系统的功能实现和模块之间的联系与通信包括各模块之间的层次结构即反映了系统的总体结构。
人们在解决复杂问题时使用的一个很重要的原则就是将它分解成多个小问题分别处理在处理过程中需要根据系统总体要求协调各业务部门的关系。在SD中这种功能分解就是将系统划分为模块模块是组成系统的基本单位它的特点是可以自由组合、分解和变换系统中任何一个处理功能都可以看成一个模块。
模块的四个要素
输入和输出模块的输入来源和输出去向都是同一个调用者即一个模块从调用者那儿取得输入进行加工后再把输出返回调用者。处理功能指模块把输入转换成输出所做的工作。内部数据指仅供该模块本身引用的数据。程序代码指用来实现模块功能的程序。 前两个要素是模块的外部特性即反映了模块的外貌后两个要素是模块的内部特性。在结构化设计中主要考虑的是模块的外部特性其内部特性只做必要了解具体的实现将在系统实施阶段完成。
在SD方法中系统由多个逻辑上相对独立的模块组成在模块划分时需要遵循如下原则
保持模块大小适中 尽可能减少调用的深度宽度也不宜过高 扇入/扇出系数合理多扇入少扇出单入口单出口 模块的作用域应该在模块内功能应该是可预测的 模块独立性原则高内聚低耦合
内聚类型与耦合类型
四、 面向对象的设计
面向对象的设计OOD是面向对象的分析OOA的延续其基本思想包括抽象、封装和可扩展性其中可扩展性主要通过继承和多态来实现。在OOD中数据结构和在数据结构上定义的操作算法封装在一个对象之中。由于现实世界中的事物都可以抽象出对象的集合所以OOD方法是一种更接近现实世界、更自然的系统设计方法。
4.1 类的分类 对象问的关系有组合聚合继承等
Use-A依赖关系
IS-A继承关系
IS-PART-OF聚合组合一种聚合对应的语义是“is a member of”设计原则
在OOD中可维护性的复用是以设计原则为基础的。常用的OOD中原则包括单一原则、幵闭原则、里氏替换原则、依赖倒置原则、组合/聚合复用原则、接口隔离原则和最少知识原则等。这些设计原则首先都是面向复用的原则遵循这些设计原则可以有效地提高系统的复用性同时提高系统的可维护性。
单一职责原则设计目的单一的类。开放-封闭原则对扩展开放对修改封闭。即尽量在不修改原有代码的情况下进行扩展。里氏替换原则子类可以替换父类父类可以替换成子类程序的行为没有变化。软件实体如果使用的是一个基类对象那么一定适用于其子类对象而且觉察不出基类对象和子类对象的区别。依赖倒置原则抽象不应该依赖于细节细节要依赖于抽象而不是具体实现。针对接口编程不要针对实现编程。组合/聚合复用原则又称为合成复用原则要尽景使用组合/聚合关系少用继承。接口隔离原则使用多个专门的接口而不使用单一的总接口。最少知识原则也称为迪米特法则是指一个软件实体应当尽可能少地与其他实体发生相互作用。