软件维护是软件开发的最长的阶段之一,的精力和费用也是最多的一个阶段,基本上软件交付之后就进入了维护阶段,占整个系统生存周期的40%~70%。

导图:


        软件系统并非一成不变的。有时候我们就会做一些变化,比如添加一些功能,改动某些错误等。

这就要求我们的系统要有非常强的可维护性。这样就能够降低工作量和费用。达到提高软件系统总体效益的作用。

       在学习《信息系统开发与管理》的时候,我们就讲到了系统维护的内容,与系统维护的步骤。这里就不再赘述。

以下就讲讲软件的可维护性。


一、什么叫可维护性?

        软件的可维护性就是指改正软件错误,以及满足用户新要求而对软件进行更改的难易程度。

眼下。我们用7个特性来衡量程序的可维护性。

分别从程序本身,用户以及效率三个方面来说,首对于程序本身来说,维护人员要进行维护,就要求我们的软件具有可理解,可測试。可改动的特性;而对于用户而言,用户要使用就要求系统具有可靠性,可使用性,以及后期的可移植性;最后的效率就是指程序既能运行本身的功能,又可以降低资源的程度。

二、怎样提高可维护性?

       软件的可维护性对于延长软件的生存期具有决定性的意义。
     前期,我们要做的准备工作有目标优先级,也就是说确定先做什么。后做什么。用什么技术用什么工具来实现;选择什么样的语言。
     中期,在开发过程中为保证软件质量,我们就要对软件加强測试工作。
     后期。为了提高程序的可理解性,以及对今后变化可能性进行评估。必需要有文档,文档的好坏直接影响着软件的可维护性。

总结:

       体会到了织网的乐趣,总想把每个知识都织网总结。这样做没有错,但是我太重视细节。丢了宏观。做的时候就忘记了即学式与预学式的差别,如今用不到的总结了,以后也会忘,还不如等到用的回头总结的时候。这将是更加深刻的印象。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

软件project(十)——软件维护的更多相关文章

  1. 软件project师的属性与发展

    工作近十年了.[软件project师] 一直是我职业 title 的中心词,仅仅是前面的修饰语在不断变化,从0基础.中级.高级到资深. 事实上 [软件project师] 是一个非常泛化的定义.工作现实 ...

  2. 软件project—思考项目开发那些事(一)

    阅读文件夹: 1.背景 2.项目管理,质量.度量.进度 3.软件开发是一种设计活动而不是建筑活动 4.高速开发(简单的系统结构与复杂的业务模型) 5.技术人员的业务理解与产品经理的业务理解的终于业务模 ...

  3. 软件project经验总结系列之三 - 计划阶段控制

    本文为软件project经验总结系列文章的第三篇.按照总论文章所设立的范围划分,本阶段重点讲述计划阶段的控制过程以及控制思路,笔者所站在的角度是乙方角度来进行表述整个阶段的推动过程,但对于甲方公司其基 ...

  4. 备战“软考”之软件project

    说到"软件project"就有一种非常纠结的感觉!为什么呢?由于刚进入软考复习阶段,大家都把它放到了"比較"次要的地位,由于已经学过两遍,再加上它没有非常难理解 ...

  5. 《软件project》课程报告 —国土资源执法监察管理信息系统建模

    ***********************************************声明*************************************************** ...

  6. 项目之软件project(我专业四年都未曾知道这四个字的含义,几句话便懂了)

    潘鹏在CSDN上原创.如其它站点转载请注意排版和写明出处: 软件project的本质 一级标题 控制 质量 二级标题  成本  扩展  高内聚低耦合 效率 控制: 成本:企业要求的是以最快的速度完毕可 ...

  7. 面向对象的软件project——面向对象分析

    为了解决软件危机.一些IT前辈国产软件project这个词汇,软件project它被引入到整个软件开发过程的维护. 软件project从程序的设计角度能够分为两类.一类是面向结构的软件project. ...

  8. 软件project(六)——需求分析

           需求分析是软件开发期的第一个阶段,是关系到软件开发成败的关键步骤.需求分析的任务就是明白系统必须完毕那些工作,以下是对需求分析这一章做的简要总结. 导图: 解释说明:        我将 ...

  9. (UML总结三)UML与软件project

    学习完UML.我们要把它和之前的软件project结合起来.软件project是从总体的角度说了软件开发的步骤.保证了所开发软件的质量.而UML作为一种统一建模语言.是用来设计软件蓝图的可视化建模语言 ...

  10. 什么是软件project?

    Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNo ...

随机推荐

  1. HDU 1274 展开字符串 (递归+string类)

    题目链接:HDU 1274 展开字符串 中文题. 左括号进入DFS函数,右括号return到上一层. 注意return回去的是这个一层递归中的括号中的字母串. AC代码: #include<st ...

  2. Spark 1.0.0版本发布

    前言 如今Spark终于迈出了里程碑一步,1.0.0标记的版本号出版物Spark1.0时代.1.0.0版本号不仅增加了非常多新特性.而且提供了更好的API支持.Spark SQL作为一个新的组件增加. ...

  3. Fuel 5.1安装openstack I版本号环境

    声明:本博客欢迎转载,但请保留原作者信息! 作者:傅斌杰 团队:华为杭州OpenStack团队 Fuel 简单介绍 Fuel是Mirantis公司开发的部署openstack集群工具,主要功能为裸机P ...

  4. 【Android进阶】获取Android软件的版本信息

    PackageInfo pinfo = getPackageManager().getPackageInfo("com.andbase", PackageManager.GET_C ...

  5. 深入理解学习Git工作流(转)

    个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心中的困惑迎刃而解,于是我将这部分资料进行整理放到了github上,欢迎st ...

  6. 翻译器DIY————次序

    突然有一种冲动,想要写一个编译器. 因此,检查在网上搜索相关信息,思想direct3D 有本书叫龙,也有个龙书 Compilers Principles,Techniques, & Tool ...

  7. NUnit3 Test Adapter vs2015

    NUnit的安装 前言:NUnit是什么? NUnit 是一个单元测试框架,专门针对于.NET来写的.NUnit是xUnit家族种的第4个主打产品,完全由C#语言来编写,并且编写时充分利用了许多.NE ...

  8. MAC OSX 进程间通信

    Mac OS在下面IPC方式很多类型,大约如下. 1. Mach API  2. CFMessagePort  3. Distributed Objects (DO) NSDistributedNot ...

  9. 转让malloc()该功能后,发生了什么事内核?附malloc()和free()实现源

    特此声明:在本文中,引用另一篇文章和帖子,结合的概括的理解malloc()函数的实现机制. 我们常常会在C程序中调用malloc()函数动态分配一块连续的内存空间并使用它们.那么,这些用户空间发生的事 ...

  10. mod_wsgi + pymssql通路SQL Server座

    靠pymssql通路SQL Server时刻,直接地python没有问题的执行.靠mod_wsgi和Apache当部署.所有请求被发现hang然后数据库查询. 通过google查到了答案,感谢goog ...