举例说明层次分析的三大原则_20202021企业软件开发流程(3)软件开发过程和软件开发原则...

知识点

1、软件过程就是软件开发过程中软件活动的集合。

2、软件过程各阶段定义

1)问题定义:人们通过开展技术探索和市场调查等活动,研究系统的可行性和可能的解决方案,确定待开发系统的总体目标和范围。

2)需求开发:在问题定义之后,建立完整的需求分析模型,编写软件需求规格说明。

3)软件设计:根据需求规格说明,确定软件体系结构,进一步设计每个系统部件/组件/模块的实现算法、 数据结构及其接口等。

4)软件编码:将软件设计转换成程序代码,这是一个复杂而迭代的过程,要求根据设计模型进行程序设计以及正确而高效地编写和测试代码。

5)软件测试:检查和验证所开发的系统是否符合客户期望,主要包括单元测试、 子系统测试、 集成测试和验收测试等活动。

6)软件运维:系统投入使用后对其进行改进/重构,以适应不断变化的需求,是一个连续持续的过程。

3、软件开发原则

1)软件复用

构造一个新的系统不必从零做起,直接复用已有的构件进行组装

构件是经过反复使用验证的,由其组成的新系统具有较高的质量

2)分而治之

将一个复杂的问题分解成若干个简单的问题,然后逐个解决

也叫做自顶向下、逐层细化、整体化零

3)提前测试

有问题早发现

全生命周期评审

尽可能早的评审

4)精简完备

按照敏捷开发基本原则,适度简化软件开发过程

简化同时要保证过程的规范性

5)设计原则

UML建模:用例图、类图、活动图、时序图

开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则等

抽象、封装、模块化、复用等

6)设计模式

创建型:工厂模式、单例模式、建造者模式等

结构型:代理模式、适配器模式、装饰器模式等

行为型:中介者模式、迭代器模式、观察者模式等

答疑时间

1、如何进行性能测试

性能测试有很多开源工具,推荐大家使用

压力测试工具:Siege

漏洞检查工具:Nikto2

2、4+1视图能稍微举例说明一下更好

举个例子

1)逻辑架构

5fcd18485c854f83d16ce31a55d878bf.png

上图是一个基于Spring的三层框架。逻辑框架的重点在于逻辑分层+每层组件。每个组件是一部分功能的抽象和凝练

2)开发架构

这个最简单,就是开发环节所有技术。通常用技术选型

be3ebfe414d617a372ee36538723c248.png

上图是JavaEE通用框架。与逻辑架构类似,这个图重点反映的是技术不仅仅是功能。也可以看出开发架构与逻辑架构有交集,但是重点不一样。逻辑架构在逻辑组件,而开发架构重点在于技术方法。

3)过程架构

这个重点在于数据处理的流程和方法。举例

8f3eaf8c7dd9ba7c81dbd59ebc3af3b4.png

过程架构反映的是一个流程和步骤

4)物理架构

与逻辑架构相对,反映的是物理元素

d9cb3c709e3440f181678ee87f7037cb.png

这个图是上位机和下位机的交互。

3、不太熟悉自动化测试

可以尝试安装好LoadRunner试试。

不知道有没有玩过网游,是否听说过“按键精灵”这种游戏辅助工具。它就是模拟键盘输入去操控游戏。

LoadRunner也是这种理念,利用窗体的句柄,模拟键盘鼠标输入,模拟人的操作。

以“LoadRunner”为关键词百度一下

4、软件设计说明书需不需要写部分实现代码,如果需要写的话和具体的软件编码实现有什么差别

软件设计说明书重在方案的描述,即采用什么方法来解决具体的需求。软件设计环节针对“怎么做”的问题进行逐层细化,在这个环节的重点有“数据库设计”(这点应该很熟)、“软件架构设计”(这点之前容易忽略,方法看我PPT。4+1视图法)。

5、后续课程的展开细节是什么

主线:

1)个人软件开发技术

四个要点:版本控制、单元测试、每日构建、编码规范。

2)结对软件开发技术

结对编程,两人如何进行合作

3)团队软件开发技术

敏捷开发方法(我们的重点是SCRUM方法)、团队的组织与管理、敏捷需求管理(基于用户故事)

4)实践部分,手把手教SCRUM方法,划分为项目启动、迭代1、迭代2。

我们这学期的课程重点在于SCRUM方法实践。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值