【软件工程导论】—— 软件系统的开发阶段

软件系统的开发阶段

软件系统的开发是按阶段进行的,一般划分为以下阶段:

可行性讨论;需求分析;系统设计(概要设计、详细设计);程序开发;编码,单元测试;系统测试;系统维护。

总的描述

  1. 软件设计,一开始先是【需求分析】,由客户提出需求。
  2. 然后是一些【可行性的分析】,用户提出的需求合不合理能不能实现能够实现所需付出的成本多大,这些都是要讨论的。
  3. 当这些都完成后,提出一份【需求分析报告】
  4. 然后开始【概要设计】和【详细设计】,像包括使用什么语言界面设计成什么样有哪些数据哪些功能等等。这些都需要在编码之前想好,一个大型的软件,如果没有详细的设计,一个完整的思路,是不能动手编码的,编码只会造成混乱。
  5. 然后,才是【编码】,用具体的语言来实现具体的功能。
  6. 然后,编成程序后,知道程序能不能用,合不合用户的需求,就需要进行【测试】,包括,单元测试,功能测试等等一系列的测试。
  7. 等测试完成后,就可以交付给用户,后面还可能牵涉到【日常维护】的问题。

1.可行性讨论

明确系统的目的、功能和要求,了解目前所具备的开发环境和条件,论证的内容有:

  • 在技术能力上是否可以支持;
  • 在经济上效益如何;
  • 在法律上是否符合要求;
  • 与部门、企业的经营和发展是否吻合;
  • 系统投入运行后的维护有无保障。

可行性讨论的目的是判定软件系统的开发有无价值。

分析和讨论的内容形成系统开发计划书,主要内容有:

(1) 开发的目的及所期待的效果;

(2) 系统的基本设想,涉及的业务对象和范围;

(3) 开发进度表,开发组织结构;

(4) 开发、运行的费用;

(5) 预期的系统效益;

(6) 开发过程中可能遇到的问题及注意事项。

2.系统需求分析

系统需求分析是软件系统开发中最重要的一个阶段,直接决定着系统的开发质量和成败,必须明确用户的要求和应用现场环境的特点,了解系统应具有哪些功能、数据的流程和数据之间的联系。

需求分析应有用户参加,到使用现场进行调研学习,软件设计人员应虚心向技术人员和使用人员请教,共同讨论解决需求问题的方法,对调查结果进行分析,明确问题的所在。

需求分析的内容编写成系统需求分析报告

3.系统设计

可根据系统的规模分成概要设计详细设计两个阶段。

概要设计包括:

① 划分系统模块;

② 每个模块的功能确定;

③ 用户使用界面概要设计;

④ 输入输出数据的概要设计;

⑤ 报表概要设计;

⑥ 数据之间的联系、流程分析;

⑦ 文件和数据库表的逻辑设计;

⑧ 硬件、软件开发平台的确定;

⑨ 有规律数据的规范化及数据惟一性要求。

系统的详细设计是对系统的概要设计进一步具体化,其主要工作有:

① 文件和数据库的物理设计;

② 输入输出记录的方案设计;

③ 对各子系统的处理方式和处理内容进行细化设计;

④ 编制程序设计任务书

程序说明书通常包括程序规范、功能说明、程序结构图,通常用HPIPO(Hierarchy Plus Input Process Output)图描述。

4.程序开发

根据程序设计任务书的要求,用计算机算法语言实现解题的步骤,主要工作包括:

① 模块的理解和进一步划分;

② 以模块为单位的逻辑设计,也就是模块内的流程图的编制;

③ 编写代码,用程序设计语言编制程序;

④ 进行模块内功能的测试、单元测试。

程序质量的要求包括:

① 满足要求的确切功能;

② 处理效率高;

③ 操作方便,用户界面友好;

④ 程序代码的可读性好,函数、变量标识符合规范;

⑤ 扩充性、维护性好。

降低程序的复杂性也是十分重要的。

系统的复杂性由模块间的接口数来衡量,一般地讲,n个模块的接口数的最大值为n(n-1)/2;若是层次结构,n个模块的接口数的最小值为n-1

为使复杂性最小,对模块的划分设计常常采用层次结构

要注意编制的程序或模块应容易理解、容易修改,模块应相互独立,对某一模块的修改应对其他模块的功能不产生影响,模块间的联系尽可能少。

5.系统测试

测试是为了发现程序中的错误,对于设计的软件,出现错误是难免的。

系统测试通常由经验丰富的设计人员设计测试方案和测试样品,并写出测试过程的详细报告

系统测试是在单元测试的基础上进行的,包括:

① 测试方案的设计;

② 进行测试;

③ 写出测试报告;

④ 用户对测试结果进行评价。

6.文档资料

文档包括开发过程中的所有技术资料以及用户所需的文档,软件系统的文档一般可分为系统文档和用户文档两类。

用户文档主要描述系统功能和使用方法,并不考虑这些功能是怎样实现的;系统文档描述系统设计、实现和测试等方面的内容。

文档是影响软件可维护性、可用性的决定因素,有句话讲,系统编程人员的每一张纸片都要保留,所以文档的编制是软件开发过程中的一项重要工作。

系统文档包括:开发软件系统在

计划、需求分析、

设计、编制、

调试、运行

等阶段的有关文档。

在对软件系统进行修改时,系统文档应同步更新,并注明修改者和修改日期,如有必要应注明修改原因,应切记过时的文档是无用的文档。

用户文档包括

① 系统功能描述;

② 安装文档,说明系统安装步骤以及系统的硬件配置方法;

③ 用户使用手册,说明使用软件系统方法和要求,疑难问题解答;

④ 参考手册,描述可以使用的所有系统设施,解释系统出错信息的含义及解决途径。

7.系统的运行与维护

系统只有投入运行后,才能进一步对系统检验,发现潜在的问题,为了适应环境的变化和用户要求的改变,可能会对系统的功能、使用界面进行修改。

要对每次发现的问题和修改内容建立系统维护文档,并使系统文档资料同步更新。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本课题的研究背景 ............................................................................................ 1 1.2 本课题的研究意义 ............................................................................................ 1 1.3 本论文的目的、内容及作者的主要贡献 ........................................................ 1 1.3.1 本论文的目的 .......................................................................................... 1 1.3.2 本论文的内容 .......................................................................................... 1 1.3.3 作者主要贡献 .......................................................................................... 2 1.4 国内外相近研究课题的特点及优缺点分析 .................................................... 2 1.5 现行研究存在的问题及解决办法 .................................................................... 2 1.5.1 需求分析问题 .......................................................................................... 2 1.5.2 数据库设计问题 ...................................................................................... 2 1.5.3 三层结构设计问题 .................................................................................. 3 1.5.4 代码实现问题 .......................................................................................... 3 1.5.5 页面设计问题 .......................................................................................... 3 1.6 本课题要达到的设计目标 ................................................................................ 3 1.6.1 实现后台数据库的设计与实现 .............................................................. 3 1.6.2 实现用户信息的管理 .............................................................................. 3 1.6.3 实现学生成果信息的发布与管理 .......................................................... 4 1.6.4 实现对学生信息及成果信息的查询 ...................................................... 4 1.6.5实现用户间学习交流的留言、评论功能 ............................................... 4 第二章 系统分析 .................................................... 5 2.1 系统需求分析 ............................................................................................. 5 2.2 采用的关键技术介绍 ........................................................................................ 6 2.2.1 ASP.NET简介 .......................................................................................... 6 2.2.2 SQL Server 2000 简介 .............................................................................. 6 2.3 可行性分析 ........................................................................................................ 7 2.2.1 技术可行性 .............................................................................................. 7 2.2.2 操作可行性 .............................................................................................. 7 第三章 系统概要设计 ................................................. 8 智能卡技术课程设计报告 II 3.1 系统总体设计 .................................................................................................... 8 3.1.1 运行环境 .................................................................................................. 8 3.1.2 系统流程 .................................................................................................. 8 3.1.3 系统结构 ................................................................................................ 10 3.2 系统接口的概要设计 ...................................................................................... 10 3.2.1 用户接口 ................................................................................................ 10 3.2.2 外部接口 ................................................................................................ 12 3.3 数据库概要设计 .............................................................................................. 12 3.3.1 逻辑结构设计 ........................................................................................ 12 3.3.2 物理结构设计 ........................................................................................ 13 3.4 系统出错处理设计 .......................................................................................... 14 3.4.1 出错信息 ................................................................................................ 14 3.4.2 补救措施 ................................................................................................ 14 3.4.3 系统维护设计 ...................................................................................... 14 第四章 系统详细设计 ................................................ 15 4.1 表示层即系统界面的详细设计 ...................................................................... 15 4.1.1 母版页的详细设计 ................................................................................ 15 4.1.2 客户首页的详细设计 ............................................................................ 16 4.1.3 成果发布界面的详细设计 .................................................................... 17 4.1.4 学生留言信息管理界面的详细设计 .................................................... 18 4.1.5 页面权限设置的详细设计 .................................................................... 19 4.2 业务层的详细设计 .......................................................................................... 19 4.3 数据库详细设计 .............................................................................................. 20 4.3.1 表的详细设计 ........................................................................................ 21 4.3.2 表间关系图 ............................................................................................ 23 第五章 系统实现 .................................................... 24 5.1 系统开发环境 .................................................................................................. 24 5.2 系统实现 .......................................................................................................... 24 5.2.1 客户端系统实现 .................................................................................... 24 5.2.2 后台管理系统实现 ................................................................................ 26 5.3 系统运行环境要求 .......................................................................................... 27 5.3.1 服务器端要求 ........................................................................................ 27 5.3.2 客户端要求 ............................................................................................ 27 III 5.4 系统部署 .......................................................................................................... 27 5.4.1数据库设置 ............................................................................................. 27 5.4.2 服务器端运行设置步骤 ........................................................................ 27 第六章 性能测试与分析 .............................................. 28 6.1 测试实例(测试集)的研究与选择 .............................................................. 28 6.2 性能分析 .......................................................................................................... 29 第七章 课程设计总结 ................................................ 31 7.1 系统总结 .......................................................................................................... 31 7.1.1 系统特点介绍 ........................................................................................ 31 7.1.2 系统存在的问题 .................................................................................... 31 7.2 系统改进建议或设想 ...................................................................................... 32 7.3 课程设计心得体会 .......................................................................................... 32 参考文献 .......................................... 错误!未定义书签。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值