软设复习文档

软件工程标准编制的层次分为5个,分别为  

国际标准国家标准行业标准企业标准;机构标准;企业(机构)标准项目标准;课题标准;项目(课题)标准

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

camelCasing:骆驼拼写法第一个单词的首字母小写,其他单词的首字母大写

PacalCasing:所有单词的首字母大写

软件设计与规范复习指南文档

C#命名规则

软件设计与规范复习指南文档

形参、私有变量、局部变量用camelCasing命名法。(记住这个,其他的是PascalCasing命名)

接口应加前缀 “I”

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件工程的要素有哪三个?

过程、方法和工具

软件生命周期“V模型”,简述各测试阶段的关注点

软件设计与规范复习指南文档

单元测试关注模块内所有重要控制路径;

集成测试关注各模块间的连接正确性、系统或子系统的输入/输出处理、系统或子系统正确处理能力和承受错误的能力;

确认测试关注全部功能和性能要求。

 

 

 

软件生命周期V模型中,各测试阶段的依据是什么?

单元测试阶段的依据是详细设计规格说明;

集成测试阶段的依据是概要设计规格说明;

确认测试阶段的依据是软件需求规范说明。

 

分析瀑布模型与V模型的优缺点

1、瀑布模型

优点:

1)为项目提供了按阶段划分的检查点.

2)当前一阶段完成后,您只需要去关注后续阶段.

3)可在迭代模型中应用瀑布模型.

缺点:

1)在项目各个阶段之间极少有反馈.

2)只有在项目生命周期的后期才能看到结果.

3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段.

 

 

2、V模型

优点:

简单、高效

缺点:

1)容易让人误解为测试是在开发完成之后的一个阶段;

2)由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些bug可能不容易找到其根源,并且代码修改起来很困难;

3)实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试。返工量大。

 

简述SOLID设计原则

(1)SRP(Single Responsibility Principle)

单一职责,一个类应该仅有一个引起它变化的原因

(2)OCP(Open-Closed Principle)

开放-封闭,可扩展,不可修改,避免添加新功能之后产生连锁反应。

OCP关注灵活性,功能的改动是通过增加代码进行的,而不是修改现有代码

(3)LSP(Liskov Substitution Principle)

里氏替换,子类型必须能替换基类型

(4)ISP(Interface Segregation Principle)

接口分离,不强迫类实现它不需要的方法。

如果一个接口中包含许多不大而且不相关的方法,那么就应该分离成多个接口,让实现接口的类只是去实现它所需要的方法

(5DIP(Dependency Inversion Principle)

依赖倒置,高层模块不依赖于低层模块,都依赖于抽象;抽象不依赖于细节,细节依赖于抽象

 

 

简要说明下列软件设计基本原则:

(1)KISS;(2)DRY;(3)Tell,Don’t Ask;(4)YAGNI;(5)SoC。

KISS(Keep It Simple Stupid)

避免不必要的复杂,尽量保持代码的简约

DRY(Don’t Repeat Yourself)

抽取系统中的公共部分,并将其放置在一个地方避免重复

Tell,Don’t Ask

合理封装,将代码方到正确的类中。明确告诉对象我们想要它们去执行怎样的操作,而不是首先询问对象状态,然后我们决定执行什么操作

YAGNI(You Ain’t Gonna Need It)

防止过度设计,只包含必需的功能,不包含你认为将来可能会用到的功能或特性

SoC(Separation of Concerns)

把软件功能分离为单独功能点。被分离的功能点有唯一的行为和数据,而且每个功能点都能被其他所需要的类单独使用。通过该原则,可最大限度地实现代码重用、功能重用、模块重用

软件设计与规范复习指南文档

 

设计四则计算器程序,要求实现加减乘除二元运算。

采用接口抽象封装运算,绘制类图

软件设计与规范复习指南文档

撰写除法类实现代码,操作数数据类型为double,除数为零应抛出异常。

public double Calculate(double operatorX, double operatorY)

        {

            if (operatorY - double.Epsilon > 1e-5)

            {

                return operatorX / operatorY;

            }

            else

            {

                throw new DivideByZeroException("除数为0");

            }

        }

软件设计一般被看作是迭代的过程,这里的迭代包括哪两层含义?

第一层含义是,针对给定的需求模型,通过多次从抽象到具体的设计过程,得出足够精细的设计模型以供软件实现之用。

在需求模型发生变化并更新完成后,第一层含义的设计过程再随之展开,直至获得最终的目标软件产品。

 

软件设计活动主要包括哪些?

体系结构设计、界面设计、模块/子系统设计、过程/算法设计、数据模型设计。

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

思考-计算器(UI与算法分离)
以计算器新增二元计算log为例,

比较UI与算法分离、UI与算法绑定的优缺点

优点

结构稳定,只需为log增加一个实现类,然后在UI中增加实例化该类的代码

缺点

UI与算法绑定,难以扩展,无论更改表现层技术还是新增功能,都必须对已有代码进行改动,极易引入缺陷。

反思(流程与实例化分离)

针对UI采用switch实例化对象的设计,给出改进建议

改进建议一

用工厂封装Switch

将switch代码封装起来,对外只暴露一个通用的获得实例化对象的方法(输入为字符串,代表四则计算操作符,输出为ICalculate接口类型的对象)

这样新增log计算时,只要更改实例化方法,增加log实现类,UI代码无需更改,保持了结构稳定

 

改进建议二

流程与实例化分离

UI增加操作符按钮,每个按钮的点击事件负责算法类的实例化,取代switch

计算流程放在等号按钮事件中处理。

新增log计算时,只需要增加log实现类,UI增加log按钮,按钮实例化log类,分工明确、条理清晰。

 

以如下订单为例,建立软件业务模型,绘制类图

买家姓名

张三

联系电话

123456

收货地址

南华大学

订单编号

654321

交易时间

2013-10-27 23:05:47

宝贝名称

单价

数量

小计

LG Nexus5

2400

1

2400

移动电源11000mah

158

2

316

 

 

总计

2716

软件设计与规范复习指南文档

简述抽象与逐步求精的设计过程。

识别业务概念,概念之间关系,类属性和业务方法,属性数据类型与方法签名。

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

 

1、软件文档分类:开发文档、用户文档和管理文档

2、开发文档包括可行性研究报告、项目开发计划、需求说明、数据库设计说明、概要设计、详细设计

3、用户文档包括安装配置手册、用户操作手册、需求说明、数据要求说明

4、管理文档包括项目开发计划、开发进度月报、测试计划、测试分析报告、项目开发总结报告

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

 

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

用例常用方法

软件设计与规范复习指南文档

 

 

 

软件设计与规范复习指南文档

软件设计与规范复习指南文档

软件设计与规范复习指南文档

相关文章:

  • 2022-12-23
  • 2022-01-06
  • 2022-12-23
  • 2021-06-24
  • 2021-05-03
  • 2022-12-23
  • 2021-11-12
猜你喜欢
  • 2021-05-26
  • 2021-08-17
  • 2022-12-23
  • 2021-12-20
  • 2021-11-29
  • 2021-11-21
  • 2022-12-23
相关资源
相似解决方案