暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

软件工程高效学 | 软件项目的生存周期

297

软件工程是计算机领域的一门专业基础课,它对于培养学生的软件素质、提高学生的软件开发能力与软件项目管理能力具有重要意义。本篇介绍软件项目的生存周期。


01

软件项目的生存周期

软件生存周期是指一个软件从定义、开发、使用和维护,直到最终被废弃所经历的漫长时期。软件工程采用的生命周期方法是从时间角度对软件开发和维护的复杂问题进行分解,通常软件生存周期至少包括以下5个阶段。


问题定义阶段

要求系统分析员与用户进行交流,弄清“用户需要计算机解决什么问题”,然后提出关于“系统目标与范围的说明”,提交用户审查和确认。


可行性研究阶段

从经济、技术、法律及软件开发风险等方面分析确定系统是否值得开发,及时停止不值得开发的项目,避免人力、物力和时间的浪费。

① 技术可行性: 主要解决的问题是通过使用现有的技术能否实现这个系统。

② 经济可行性: 主要解决的问题是这个系统的经济效益能否超过它的开发成本。

③ 操作可行性:主要解决的问题是系统的操作方式在这个用户组织内能否可行。

④ 法律可行性: 主要确定本项目法律上有无纠纷等。


需求分析阶段

需求分析的主要任务是要项目开发人员清楚用户对软件系统的全部需求,并用“需求规格说明书”的形式准确地表达出来。


开发阶段

开发阶段由软件设计、实现和测试3个阶段组成。

① 软件设计:软件设计的主要任务是将需求分析转换为软件的表现形式。

概要设计: 确定系统设计方案、软件的体系结构和软件的模块结构。

详细设计: 确定软件系统模块结构中的每个模块完整而详细的算法和数据。

② 实现: 根据选定的程序设计语言完成源程序的编码。

编码的主要任务是由程序员依据模块设计说明书,用选定的程序设计语言对模块算法进行描述,即转换成计算机可接受的程序代码,形成可执行的源程序。

③ 测试:对编码后的源代码进行测试。

通过各种类型的测试,找出软件设计中的错误并改正错误,确保软件的质量。典型的测试方法有针对软件功能的黑盒测试和针对软件源码的白盒测试。


维护阶段

在软件运行期间,通过各种必要的维护措施使系统改正错误或修改扩充功能使软件适应环境变化,以延长软件的使用寿命和提高软件的效益。软件维护有以下4种类型。

① 改正性维护: 诊断和改正在使用过程中发现的软件错误;

② 适应性维护:修改软件以适应环境的变化;

③ 完善性维护:根据用户的要求改进或扩展软件,使之更完善;

④ 预防性维护: 修改软件,为将来的维护做准备。


实例讲解

软件工程导论与项目案例教程

(微课视频版)

精彩回顾

软件工程

1. 软件的内涵与危机

2. 软件工程基础



下期预告

软件工程

4. 软件项目的开发模型

可行性分析

5. 实践工具:Microsoft Office Visio

6. 实践工具:Kitten

7. 实战案例:编写浏览器开发可行性研究报告

软件设计

8. 实战案例:在线选修课程管理系统设计

UI设计

9. 实战案例:利用Kitten设计交互案例

软件实现

10.实战案例:用海龟编辑器实现人脸识别

软件测试

10. 实战案例:Selenium单元测试实战

11. 自动化网页资料单选实战

项目管理

12. 实战案例:Excel绘制甘特图

13. 实战案例:TAPD进行需求管理

14. 实战案例:禅道进行Bug管理






02

参考书籍


软件工程导论与项目案例教程(微课视频版)

ISBN:9787302614616

作者:吴彦文

定价:59.90元

扫码优惠购书





内容简介

本书共分为11章,设计体系遵循教育部“新工科”工程技术人才“实基础、精专业、强实践、重创新、懂管理”的育人理念。全书涵盖软件工程基础知识、软件分析与设计、软件实现、软件测试、软件项目管理、软件开发实践和应用工具拓展等方面的内容。

第1章绪论,涵盖了软件工程概述、软件工程学习者阶段性知识与能力框架和全书实践任务预览。

第2章可行性分析,介绍了可行性研究,包括项目立项、可行性研究的方法与工具。以Visio软件为例,详解了流程图的绘制过程。

第3章需求分析,描述了需求分析的步骤和结构化分析方法。以机票预订系统需求分析报告为例,从数据、功能、性能三个维度展示了需求文档的书写流程与规范。

第4章软件设计,介绍了软件设计的步骤、面向对象的软件设计方法——UML和UML的主要建模工具RationalRose。借助在线选修课程管理系统设计案例,展现了用例模型和UML图的构建方法。

第5章UI设计,总结了界面的设计原则和交互设计的操作技巧。采用基于Axure的高保真Web原型图设计案例和基于Kitten的交互设计案例进行讲解,带领读者快速入门交互设计。

第6章软件数据库设计,介绍了数据库系统、关系数据库管理系统、MySQL和结构化查询语言SQL。此外,介绍了数据库管理工具Navicatfor MySQL的基本操作。

第7章软件实现,介绍了软件实现、编码技术和开发实践过程。基于此,设计了应用海龟编辑器的人脸识别算法实战案例和应用微信开发者工具的记事本小程序开发实战案例,辅助读者快速上手开发实践。

第8章软件测试,归纳了软件测试常用的方法和工具,重点介绍了自动化测试工具Selenium。基于此,设计了单元测试实战和自动化网页资料单选实战,帮助读者快速熟练使用测试工具。

第9章项目管理,介绍了项目管理的相关概念及应用,设计了多个实践案例,模拟了项目管理中的关键步骤,以帮助读者快速理解项目管理的基本流程和技术应用。

第10章软件工程实践,引导读者以案例贯穿软件工程开发全流程的方式,实践了“湖北省青少年运动员竞赛注册管理信息系统”项目和“疫情地图小程序”项目,从而驱动读者自主探索软件开发的工具和过程。

第11章软件工程中的“黑科技”工具,拓展了一些科技狂潮下应用于软件工程实践的“黑科技”工具,激发读者欣赏科技之美,追求创造科技之美。





    文章转载自清华计算机学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论