没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
第十周《软件项目管
理》
软件项目组人员组织
民主制程序员组
特点
小组成员完全平等
享有充分民主
通过协商做出技术决策
程序设计小组的人数不能太多,否则组员间彼此
通信的时间将多于程序设计时间(2-8名成员为
宜)
优点
组员们对发现程序错误持积极的态度,这种态度
有助于更快速的发现错误,从而导致高质量的代
码。
组员们享有充分民主,小组有高度凝聚力,组内
学术空气浓厚,有利于攻克技术难关。
缺点
由于没有明确的权威指导开发工程的进行,组员
间将缺乏必要的协调,最终可能导致工程失败
如果组内多数是经验丰富技术熟练的程序员,那
么这种非正式的组织方式可能会非常成功。
主程序员组
用这种组织方式主要的考虑
(1)软件开发人员多数比较缺乏开发经验
(2)程序设计过程中有许多事务性的工作,例
如,大量信息的存储和更新
(3)多渠道通信很费时间,将降低程序员的生
产率
用经验多、技术好、能力强的程序员作为主程序
员,利用人和计算机在事务性工作方面给主程序
提供充分支持,而且所有通信都通过一两个人进
行。
特性
(1)专业化。该组每名成员仅完成他们受过专业
训练的那些工作。
(2)层次性。主刀大夫指挥每名组员工作,并
对手术全面负责
主程序员组的结构
主程序员
既是成功的管理人员又是经验丰富、技术好、能
力强的高级程序员,负责体系结构设计和关键部
分(或复杂部分)的详细设计,并且负责指导其
他程序员完成详细设计和编码工作。
后备程序员
也是技术熟练而且富于经验,他协助主程序员工
作并且在必要时接替主程序员的工作。
平时工作主要是:设计测试方案、分析测试结果
及独立于设计过程的其他工作
编程秘书
负责完成与项目有关的全部事务性工作,如:维
护项目资料库和项目文档,编译,链接、执行源
程序和测试用例。
1-3名程序员
现代程序员组
结构
技术组长
参与全部代码审查工作,要对代码的各方面质量
负责
行政组长
不可以参与代码审查工作,职责是对程序员的业
绩进行评价,行政组长应该在常规调度会议上了
解每名组员的技术能力和工作业绩。
程序员
大型项目的技术管理组织结构(非技术管理组织
结构与此类似)
项目经理
组长
程序员
程序员
程序员
组长
程序员
程序员
组长
程序员
程序员
程序员
特点
结合民主制程序员组和主程序组的优点结合起来
的另一种方法,在合适的地方采用分散做决定的
方法
包含分散决策的组织方式
软件质量因素
产品运行
正确性 系统满足规格说明和用户目标的程度
健壮性
在硬件发生故障、输入的数据无效或操作错误等
意外环境下,系统能做出适当相应的程度
效率
为了完成预定的功能,系统需要的计算资源的多
少
完整性(安全性)
对未经授权的人使用软件或数据的企图,系统能
够控制(禁止)的程度
可用性
系统在完成预定应该完成的功能时令人满意的程
度
风险
按预定的成本和进度把系统开发出来,并且为用
户所满意的概率
产品修改
可理解性 理解和使用该系统的容易程度
可维修性
诊断和改正正在运行现成发现的错误所需要的工
作量的大小
灵活性 修改或改进正在运行的系统需要的工作量的大小
可测试性 软件容易测试的程度
产品转移
可移植性
可再用性
互运行性
把该系统和另一个系统结合起来需要的工作量的
多少
软件质量保证(SQA)措施
基于非执行的测试(复审或评审)
复审主要用来保证在编码之前各阶段产生的文档
的质量
基于执行的测试
需要在程序编写出来之后进行,保证软件质量的
最后一道防线
程序正确性证明
使用数学方法严格验证程序是否与对他的说明完
全一致
参加软件质量保证工作的人员分类
软件工程师
采用先进的技术方法和度量,进行正式的技术复
审以及完成计划周密的软件测试来保证软件质量
SQA小组 辅助软件工程师以获得高质量的软件产品
1、技术复审的必要性 优点
能够早发现软件错误,从而可防止错误被传播到
软件过程的后续阶段
2、走查
(1)参与者驱动法
参与者按照事先准备好的列表,提出他们不理解
的属于和认为不正确的术语
(2)文档驱动法 文档编写者向走查组成员仔细解释文档
3、审查 步骤
(1)综述 由负责编写文档的一名成员向审查组综述该文档
(2)准备 评审员仔细阅读文档
(3)审查 评审组仔细走查整个文档
(4)返工
文档的作者负责解决在审查报告中列出的所有错
误及问题
(5)跟踪 组长必须确保所提出的每个问题都得到圆满解决
4、程序正确性证明 基本思想
证明程序能完成预定的功能。因此,应该提供对
程序功能的严格数学说明,然后根据程序代码证
明程序确实能实现它的功能说明。
软件配置概念
1、软件配置项 软件过程的输出信息分类
(1)计算机程序(源代码和可执行程序)
(2)描述计算机程序的文档(供技术人员或用
户使用)
(3)数据(程序内包含的或在程序外的)
2、基线
IEEE把基线定义为:已经通过了正式复审的规格
说明或中间产品,它可以作为进一步开发的基
础,并且只有通过正式的变化控制过程才能改变
它
软件配置管理过程
1、标识软件配置中的对象
基本对象
是软件工程师在分析、设计、编码或测试过程中
创建出来 的“文本单元”
聚集对象 是基本对象和其他聚集对象的集合
2、版本控制
使用规程和工具,以管理在软件工程过程中所创
建的配置对象的不同版本
3、变化控制
变化控制过程
接到变化请求后,首先评估该变化在技术方面的
得失、可能产生的副作用、对其他配置对象和系
统功能的整体影响以及估算出的修改成本。评估
的结果形成“变化报告”,该报告供“变化控制审批
者”审阅。
主要功能
访问控制
决定哪一个软件工程师有权访问和修改一个特定
的配置对象。
同步控制
有助于保证由两名不同的软件工程师完成的秉性
修改不会相互覆盖
4、配置审计
(1)正式的技术复审
(2)软件配置审计
5、状态报告 回答的问题
(1)发生了什么事
(2)谁做的这件事
(3)这件事是什么时候发生的
(4)它将影响哪些其他事物
能力成熟度模型CMM
目的
为大型软件项目的招标活动提供一种全面而客观
的评审依据,同时被应用于许多软件机构内部的
过程改进活动中
基本思想
由于问题是由人们管理软件过程的方法不当引起
的,所以新软件技术的运用并不会自动提高软件
的生产率和质量。CMM有助于软件开发机构建
立一个有规律的、成熟的软件过程。
主要作用
指导软件机构通过确定当前的过程成熟度并识别
出对过程改进起关键作用的问题,从而明确过程
改进的方向和策略。
5个级别
1、初始级 软件过程的特征是无序的,有时甚至是混乱的。
2、可重复级
软件机构建立了基本的项目管理过程,可跟踪成
本、进度、功能和质量
3、已定义级
软件机构已经定义了完整的软件过程,软件过程
已经文档化和标准化
4、已管理级
软件机构对软件过程(过程模型和过程实例)和
软件产品都建立了定量的质量目标
5、优化级 软件机构集中精力持续不断的改进软件过程
精神小伙尔
- 粉丝: 2
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 毕业设计-仿生六足机器人的制作全教程源码+电子元器件+程序代码+线路组件图+安装教程+搭建视频教程
- 基于ROS和webots的xrobot机械臂仿真初探C++源码
- 基于ROS的点焊机器人仿真与控制python源码+文档说明+使用说明+详细注释
- 基于vue实现的细粒度交通时空大数据分析系统+源代码+文档说明
- 安卓大作业-基于Electron的交通时空大数据分析挖掘系统客户端(Android)+源代码+文档说明+界面截图
- 基于Java的朱氏集团客户关系管理系统设计源码
- 基于C++的作业提交与批改系统设计源码
- 基于Vue2的移动端电影资讯网站设计源码
- 高分课程设计作业-基于QT的模仿宝石迷阵游戏C++源码+文档说明+界面截图
- 基于Apache Spark的Spark DistCP重实现设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0