- 相关推荐
软件项目设计过程的管理
国目前也逐步加大了对软件产业的投资,从目前全国各地普遍兴建软件产业园就可以看出软件产业的强劲发展势头。要想做大做强软件产业,质量是关键,管理是根本。yjbys小编下面为你整理了软件项目设计过程管理的文章,希望对你有所帮助。
1软件项目设计过程
1.1软件设计过程的内涵
软件的设计过程是指软件工程人员为了获得特定功能与性能的软件产品,而在一系列软件的支持下所进行的软件开发工程活动。简而言之,软件设计过程就是将需求转变为软件表达的过程。
那么如何将需求转变为了软件表达呢?这里首先要明确的是什么是需求。这里所说的需求,主要包含功能需求和性能需求,在一些特定的软件项目开发过程中,可能还需要进行数据需求的分析。只有明确了软件系统的功能需求、性能需求和数据需求,才能够有针对性地进行软件项目的开发设计。其次,还需要明确的是软件设计过程一般分为两步,第一步是初步设计。所谓初步设计就是将之前所分析的软件系统的性能需求、功能需求和数据需求转换为数据表或者软件框架只有确定了数据表或者将软件框架,才能够在此基础上进行有针对性的特定功能开发与实现;第二步是详细设计。所谓详细设计,就是指将之前所建立起来的数据表和软件框架,逐步求精和细化,最终实现软件系统所要求的功能或者性能转变为具体的数据结构或者软件算法,而且其中每一个细化过程中出现的数据结构或者软件算法,都需要配以合适的软件界面进行显示,以提供良好的人机交互桌面,并且要将软件界面和数据结构、软件算法时刻保持统一,以提高软件项目的整体一致性和系统性。
1.2软件设计流程
要想做好对软件项目的过程管理,首先必须明确软件的设计流程。因此,这里首先对软件项目开发的流程进行简要分析。
软件设计过程一般很难用文字语言表述完整清楚,目前也没有统一的表达能够说清楚软件开发的过程,但是结合以往的开发经验,现在的软件工程师都已经清楚认识到,目前开发出来的支持数据流图、层次式输入输出结构图等相较于传统的流程图能够更加精确、清晰地反映出软件项目开发的需求和框架细化精确的层次步骤。
概括来说,软件设计的一般流程可以分为以下几个步骤:
(1)需求分析。
首先需要对软件系统进行需求分析,正如上文所分析,需要进行功能需求分析、性能需求分析和数据需求分析。
(2)子系统分离。
在明确系统需求的基础上,需要对整个软件系统进行子系统的划分,只有对一个大型软件项目系统进行合理的分割,甚至是分割成若干软件算法或者数据结构等,才能简化软件设计系统的复杂性。
(3)层次优化设计。
为分割后的每一个子系统进行层次设计,并且需要明确不同子系统之间的层次关系,为各个层次之间的数据流进行导向设计。
(4)软件框架结构设计。
根据系统的层次关系,确定软件系统的框架结构,并在此基础上确立数据表的结构,为整个软件系统的功能实现和数据表达奠定技术基础。
(5)数据表设计(包含算法设计)。结合系统的功能需求,为数据表达设计合适的算法,既要实现系统指定的功能,同时还要满足系统的相关性能要求和质量验收标准。
(6)界面设计(包含操作设计)。
为整个软件系统设计合理的人机交互界面,包括人机操作交互设计及其操作响应的设计,都包含在此步骤中。通过界面设计完成数据表达和软件算法的外封装,将封装接口留给用户自行使用或者进行二次开发。
(7) 整体测试。
根据所设计的软件框架结构、数据表结构、软件算法以及界面操作功能,结合系统需要实现的功能需求和性能需求,对整个软件进行白盒测试与黑盒测试,确保整体质量达到预期的设计要求。这里需要说明的是,设计阶段的测试主要是功能性单步调试,需要待软件整体功能完成后才能够进行各功能的单元测试及系统集成测试。
2软件项目设计过程的管理建议与措施
2.1对软件项目的进度、质量和成本进行全过程跟踪管理
软件项目开发最在乎无非是项目的进度、质量和成本,因此要实现对软件项目的过程管理,就必须以软件项目的进度、质量和成本作为突破口,对软件项目的进度、质量和成本实施全过程监控管理,才能够实现对软件项目的全过程管理。具体来说,对软件项目的进度、质量和成本实施全过程监控管理,可以从以下几个方面着手:
2.1.1合理设置软件项目的里程碑标志
按照软件开发计划的进度安排,为软件项目的开发进度设置阶段性里程碑标志,也可以进一步细化为大里程碑和小里程碑。确定了里程碑,软件开发的每一阶段也就确定下来了,可以依据每一阶段的软件开发,为软件项目配备合适的人力资源、软件开发资源以及必要的技术支撑等,就能够按阶段实现软件的开发设计工作。按照软件开发计划的进度,细化分配到每个编程人员软件模块完成时间表。由项目负责人监督项目进度,并与开发小组上报的日报、周报进行核对,及时更正项目进度偏差。倘若由于某一环节时间发生偏差,项目负责人也可以对里程碑适当进行调整,从而保证进度管理的灵活性,也从另一个方面保证软件项目开发的质量。
2.1.2进行阶段性单元测试
为了保证软件开发的质量,需要在开发的过程中进行阶段性测试,包括功能测试、性能测试、容错测试以及安全测试等等。这里所说的阶段性测试主要是指单元测试。要按照软件设计开发的进度进行相应的单元测试,因为每一阶段都有不同的测试内容和测试目的,应该在软件开发设计的相应阶段之前就确定好测试的手段、方法以及相关测试报表。如果测试成功,则可以顺利进入到下一里程碑阶段;如果测试失败,则应当详细分析导致失败的原因,指出功能测试或者性能测试的缺陷,同时完成测试报表,以供后向通道的测试。如有必要,应当对系统发生失败的测试项目逐条语句进行单步调试,直至完成阶段性测试。
2.1.3对软件开发费用进行控制
一般而言,当软件系统的功能需求和性能需求分析完毕后,只要确定好系统的里程碑标志,即可确定软件系统开发的相关资源,严格来说软件系统的开发成本基本也已经明确了,因此对于软件开发的可预见性成本的控制是不难的,关键是在开发过程中,需要对一些不可预见性的成本开支进行严格控制,如设计更改、人员调整等等,这些因素都有可能导致软件系统开发的成本大幅上升。因此,软件系统的成本管理重点是要控制不可预见性的成本费用。
项目经理或者项目负责人正确的决策是减少项目不可预见费用的重要因素,错误的决策会导致项目部分返工,甚至于项目方案变动,造成人力物力的浪费。
2.2对软件设计过程进行监理,重在沟通
过去软件系统的开发过程管理存在着一个误区,就是重管理轻监理。在这样的管理方针下,很多软件工程师在实际开发设计过程中会感觉束手束脚,最后不是质量打了折扣,就是开发周期一拖再拖,管理效果差强人意。因此,要加强对软件设计过程的管理,就必须改变这一传统的管理手段,对设计过程重在监理,强调沟通,发挥效率,真正为软件设计的过程去服务,而不是去管理。
沟通主要包括跟用户进行沟通和开发团队内部的沟通。开发团队与用户沟通在需求分析阶段要做到最大可能的到位,用户方的技术人员和用户方的高层在需求理解上经常会不一致,在项目开发过程中会提出需求变更或者添加功能需求,用户方的高层之间也会有不同的意见。因此正确全面地把握用户需求,才能做出最正确的决策,拿出最经济有效的方案。
开发团队的沟通管理重在监理,对软件设计过程的人力、周期、质量、资金等等进行监理,当发生偏差时就进行自上而下的沟通,再自下而上进行信息反馈,这样既不会束缚软件工程师的手脚,同时对于软件设计本身而言,其质量、进度和成本在经过有效的沟通和反馈之后,依然在项目管理轨道上行进。
需要说明的是,这里强调的沟通并不是指出现问题,大家坐下来讨论问题出现的原因,然后提出解决的办法和措施,这样无疑是耽误了软件设计的周期。这里所强调的沟通,实际上是指当监理人员发现软件设计开发过程中某一指标或者某些指标发生了偏离,与项目协调员或者项目专员进行沟通,由项目专员与软件工程师进行沟通协调,在进行设计的过程中实现自下而上及自上而下的双向信息流通。
2.3对软件设计过程中产生的设计文档严格要求,对开发过程记录严加管理
软件设计过程中产生设计文档、记录,必须按照软件工程开发规范,与实际的代码一一对应。一套高水平的规范文档,可以将在项目中的开发人员由于各种原因离岗带来的项目进度损失、人力资源损失都记录在内,这样新来的开发人员看着文档就可以接替这个岗位的工作。对软件设计开发过程实行文档管理,不仅仅是为了防范岗位接替带来的损失,更重要是依靠完善的文档管理,能够对软件开发设计过程中的任意一个环节都可以进行回顾、监测;在强调弱化管理、加强监控的软件过程管理模式的同时,只有依靠文档管理,才能够最终实现对软件开发设计过程细致入微的管理。
2.4软件设计模型选取和注意项目积累
开发团队在经过一段时期的开发后,有了一定项目经验和技术积累。当新的项目需求与以前的项目需求很接近时,可以采用原型法开发,列出需求变化的部分和新增的
功能、要删掉的功能,这样可以沿用前项目的开发文档(当然要根据项目修改)和开发方案、思路、技术,进行快速有效的开发。新开发的项目成功后又可以作为以后项目的原型,这也是软件构件重用的基本思路,这样能够利用积累下来的软件模型、程序代码和开发经验,实现高效的组装式的软件开发程式,大大降低后续软件开发的出错率,极大地提高后续软件开发的稳定性与可靠性。
2.5对软件设计过程中的部分软件功能模块化以供复用
软件模块复用是软件快速高效开发中经常用到的,对某特定行业、特定需求,特别约定俗成的软件功能需求尽量提出来设计成软件模块。将软件开发设计重复使用的一部分称之为软件构件,这是近几年来逐步盛行的一种高效、低成本的软件开发模式。重复使用某一软件构件,首先需要明确该软件构件定义中所使用的技术标准和规范,倘若连技术标准语规范都无法明确,那么很难保证利用该软件构件开发出来的软件具有全局统一的技术规范,从而软件的可靠性也无法得到保证。因此,确定构件使用的技术标准与规范,对于软件构件的应用也是基础技术保障。
【软件项目设计过程的管理】相关文章:
项目管理的基本过程10-19
怎样控制软件项目管理的成本07-07
施工项目的全过程管理10-27
项目管理过程流程图10-21
项目管理过程组流程图09-11
项目实施过程中的数据管理06-17
BS架构项目管理软件的优势10-01
设计项目管理的方案与步骤10-13
软件开发项目管理制度(通用11篇)07-12
好用的装修设计软件09-24