软件工程(一)——前言

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_21107433/article/details/82845812

笔者正在学习《软件工程-实践者的研究方法》这本书,记录下一些读书笔记,共勉!

1.软件开发依旧面临的问题

①软件开发时间长;
②开发成本高;
③软件交付客户前,无法找到所有错误;
④维护已有程序花费较高的时间和人力代价;
⑤软件开发和维护过程难以度量。

2.软件的定义

(1)指令的集合,通过执行这些指令可以满足预期的特征、功能和性能需求;
(2)数据结构,使得程序可以合理利用信息;
(3)软件描述信息,以硬拷贝和虚拟形式存在,用来描述程序操作和使用。

3. 软件工程定义

(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化的方法应用于软件;
(2)在(1)中所述方法的研究。
软件工程是一种层次化的技术,如图。
①支持软件工程的根基在于质量关注点
②软降工程的基础过程,软件过程将各个层次结合在一起,过程定义了一个框架,构成了软件项目管理控制的基础,建立了工作环境以便于应用技术方法、提交工作产品、建立里程碑、保证质量以及正确管理变更;
③软件工程方法为构建软件提供技术上的解决方法,包括沟通、需求分析、设计建模、编程、测试等;
④软件过程工具为过程和方法提供自动化和半自动化的支持。

软件工程层次图

4. 软件过程

软件过程是工作产品构建时所执行的一系列活动、动作和任务的集合。
活动:主要实现宽泛的目标,与应用领域、项目大小、结果复杂性或者实施软件工程的重要程度没有关系;
动作:包含了主要的工作产品(如体系结构设计模型)生产过程中的一系列任务;
任务:关注小而明确的目标,能够产生实际产品。

过程框架(process framework)定义了若干个框架活动,为实现完整的软件工程过程建立了基础。通用的软件工程过程框架通常包含:
①沟通: 和客户(及其他利益相关者)沟通协调,理解利益相关者的项目目标,收集需求以定义软件特性和功能;
②策划: 定义和描述软件工程工作,包括需要执行的技术任务、可能的风险、资源需求、工作产品和工作进度计划;
③建模: 搭建模型以更好理解软件需求;
④构建: 编码和测试以发现编码中的错误;
⑤部署: 软件全部或部分增量交付到用户,用户对其进行评价并给出反馈意见。

5. 软件工程实践

5.1 实践的精髓:

①理解问题:沟通和需求分析;
②计划解决方案:建模和软件设计;
③实施计划:代码生成;
④检查结果正确性:测试和质量保证。

5.2 一般原则

①存在价值:一个软件系统因为能给用户提供价值而具有存在价值;
②保持简洁:所有的设计尽可能简洁,但不是过于简化;
③保持愿景:清晰的愿景是软件项目成功的基础;
④关注使用者:
⑤面向未来:
⑥计划复用:系统开发过程中的各种层面都有多种技术实现复用;
⑦认真思考。

猜你喜欢

转载自blog.csdn.net/sinat_21107433/article/details/82845812
今日推荐