软件工程及项目管理基础知识.docx
《软件工程及项目管理基础知识.docx》由会员分享,可在线阅读,更多相关《软件工程及项目管理基础知识.docx(16页珍藏版)》请在冰豆网上搜索。
![软件工程及项目管理基础知识.docx](https://file1.bdocx.com/fileroot1/2023-4/16/75a1b792-6564-4916-bcc0-feeddb854f28/75a1b792-6564-4916-bcc0-feeddb854f281.gif)
软件工程及项目管理基础知识
软件工程及项目管理基础知识:
信息系统工程质量管理:
质量计划、质量保证、质量控制 软件质量因素:
正确性、健壮性、安全性、可用性、适应性、效率、风险、可理解性、可维修性、可测试性、可移植性、可再用性、互运行性。
项目进度控制的重要方法:
规划、控制、协调进度控制所采取的措施如下:
1组织措施2技术措施3合同措施4经济措施5管理措施
影响进度因素:
1人的因素2材料和设备的因素3方法和工艺的因素4资金的因素5环境因素
成本管理由4个过程组成:
1资源计划过程2成本估算过程3成本预算过程4成本控制过程
影响工程成本主要因素:
1项目属性2人员属性3项目成果属性4计算机属性5其他因素 影响工程变更的主要因素:
1工程的生命周期2工程的计划、组织和管理3客户需求变化4新技术、新工艺的影响5其他外部因素和不可遇见的突发事件
何为风险?
控制风险的方法:
风险是指某种破坏或损失发生的可能性,风险管理是指识别,评估,降低风险到可以接收的程度并实施适当机制控制风险,保持在此程度之的过程。
控制风险的方法:
1对动作进行优先排序,风险高的优先考虑2评价风险评估过程中的建议,分析建议的可行性和有效性3实施成本/效益分析4结合技术、操作和管理类的控制元素,选择性价比最好的安全控制5责任分配6制定一套安全措施实施计划7实现选择的安全控制
风险分析的方法与途径:
定量分析和定性分析
项目风险管理应该包括:
1一个风险管理计划,应强调主要项目风险、潜在的影响、解决方案、降低风险的措施2一个风险预防计划或应急计划,包括降低风险所必需的资源、时间及成本概算3一个在整个项目周期自始至终对风险进行测定,跟踪及报告的程序4应急费用,并将其列入预算。
项目定义并说明项目管理三要素之间的关系:
所谓项目,就是在既定的资源和要求的约束下,为实现某种目的而相互联系的一次性工作任务,这个定义包括三层意思:
一定的资源约束、一定的目标、一次性任务。
项目三角形是指项目管理中围、时间、成本三个因素之间相互影响的关系;质量处于三角形的中心。
它会影响三角形的每条边,对三条边的任何一个更改都会影响质量;质量不是三角形的要素;是时间、成本和围协调的结果。
项目管理的四大核心领域:
围管理、成本管理、时间管理、质量管理
项目管理的九大知识领域:
围管理、成本管理、进度管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。
五大项目过程:
项目的启动过程,项目计划过程,项目执行过程,项目监控过程,项目收尾过程
何为项目管理及特点:
项目管理就是项目的管理者,在有限的资源约束下,运用系统的观点、方法和理论对项目涉及的全部工作进行有效的管理,即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标;
项目管理特点:
1项目管理是一项复杂的工作2项目管理具有创造性3项目管理需要集权领导并建立专门的项目组织4项目负责人在项目管理中起着非常重要的作用。
软件的质量特性包括功能性、可靠性、易用性、效率、可维护性、可移植性等六个方面,每个方面都包含若干个子特性:
功能性:
适合性、准确性、互操作性、依从性、安全性;可靠性:
成熟性、容错性、易恢复性;易用性:
易理解性、易学性、易操作性;效率:
时间特性、资源特性;可维护性:
易分析性、易改变性、稳定性、易测试性;
可移植性:
适应性、易安装性、遵循性、易替换性;
质量管理:
在质量方面指挥和控制组织的协调的活动,指对确定和达到质量所必须的全总职能和活动的管理,其管理职能主要包括制定质量方针和质量目标以及质量策划、质量控制、质量保证和质量改进。
软件开发质量管理,就是为了开发出符合质量要求的软件产品,贯穿于软件开发生存期过程的质量管理工作。
软件开发质量管理层次初步划分如下:
1、技术层次(数据、编程、文档)
2、方法体系层次(措施、项目、过程)
3、社会因素层次(质量环境、技术标准、业务标准、人员)
系统管理规划信息系统具有哪些结构?
1信息系统层次结构(战略计划层,战术管理层,业务处理层2功能结构(从技术角度来看,信息系统无非是信息的输入、处理和输出等功能;从用户的角度来看,应该支持整个组织在不同层次上的各种功能;从业务角度看信息系统功能结构应该包括行政子系统,研发、生产、营销、财务、人事、物流七个子系统;3软件结构4硬件结构(集中式,分布—集中式,分布式)信息系统有哪些类型?
1面向作业处理的系统2面向管理控制的系统3面向决策计划的系统信息系统对企业的生产过程、管理过程、决策过程都产生了重大影响,尤其促进企业组织结构的重大变革,主要表现在1促使组织结构扁平化2组织结构更加灵活和有效3虚拟办公室4增加企业流程重组的成功率信息系统工程的研究方法分为技术方法、行为方法和社会技术系统方法。
信息系统工程质量控制的主要手段:
评审、测试和审计信息系统建设为什么需要全面质量控制,如何实行全面质量控制?
由于信息系统项目质量目标的容具有广泛性,所以实现信息工程项目总体质量目标应当实施全面的质量控制。
因此要把控制重点放在调查研究外部环境和部系统各种干扰质量的因素上,做好风险分析和工作。
同时预测各种可能出现的质量偏差,并采取有效的预防措施。
要使这些主动控制措施与监督、监察、反馈、发现问题并及时解决;发现偏差及时纠偏等控制有机结合起来,这样才能使项目的质量处于有效的控制之下。
信息系统项目的特点:
1明确的目标2独特的特性3有限的生命周期4特定委托人5实施的一次性6组织的临时性和开放性7项目的不确定性和风险性8结果的不可逆转性,另外信息系统还有自己的特点1信息系统项目的目标不精确、任务边界模糊,质量要求主要由项目团队定义2在信息系统项目开发过程中,客户的需求不断被激发,不断地被进一步明确,或者客户需求随项目进展而变化,从而导致项目进度、费用等计划的不断更改3信息系统项目是智力密集、劳动密集型项目,受人力资源影响最大,项目成员的结构、责任心、能力和稳定性对信息系统项目的质量以及是否成功有决定的影响。
IT财务管理的目标及作用:
对IT项目的投资过程进行管理,研究IT项目投资的必要性和可行性、准确计算IT投资的成本和效益,并在此基础上进行投资评价和责任追究。
解决IT投资预算、IT成本、效益核算和投资评价等问题,从而为高层管理提供决策支持,避免企业走入“信息化悖论”的沼泽。
IT系统管理的层次、定位和职能围层次:
战略层(IT战略规划),包括IT战略制定、IT治理、IT投资管理。
战术层(IT系统管理),包括IT管理流程、组织设计、管理制度、管理工具等。
运作层(IT技术及运作管理),包括IT技术管理、服务支持、日常维护等。
定位:
传统的IT部门仅仅是核算中心,只是简单地核算有些预算项目的投入成本;为了提高IT服务质量和投资效益,使IT部门从支持角色转为服务角色,从以IT职能为中心转为以服务中心,从费用分摊的成本中心模式转为责任中心,企业应该依据组织业务的规模和对IT的依赖程度,将IT部门定位为成本中心,甚至利润中心。
IT系统管理职能围:
IT财务管理、服务级别管理、问题管理、配置及变更管理、能力管理、IT业务持续性管理等IT部门的职责:
IT战略规划、企业应用系统规划、网络及基础设施、数据库管理、人员管理、故障管理、成本计费管理、性能/能力管理、维护管理、安全管理、IT日常运作、终端用户支持等方面。
(同时也是运作方的系统管理计划容)服务级别管理的概念及作用服务级别管理是定义、协商、订约、检测和评审提供给客户服务的质量水准的流程。
作用是:
(l)准确了解业务部门的服务需求,节约组织成本,提高IT投资效益。
(2)对服务质量进行量化考核。
(3)监督服务质量。
(4)明确职责,对违反服务级别协议的进行惩罚。
IT系统管理通用体系架构为:
IT部门管理,业务部门IT支持和IT基础架构管理现代企业信息系统特点:
规模越来越大、功能越来越多、变化快、异构性
Cobit(信息系统管理标准)标准定义的it资源如下:
数据、应用系统、技术、设备、人员 COBIT标准所定义的流程被划分为与it系统实施周期相对应的4个独立域:
规划和组织,采购和实施,交付和支持以及检测
设施和设备管理包括:
电源设备管理,空调设备管理,通信应急设备管理,楼宇管理,防护设备管理
结构化布线由6个子系统组成:
工作区子系统,水平子系统,垂直子系统,管理间子系统,设备间子系统,建筑群子系统。
简述数据安全管理:
数据安全管理是数据生命周期中一个比较重要的环节,在进行数据输入和存取控制的时候,企业必须首先保证输入数据的合法性;要保证数据的安全性,必须保证数据的性和完整性,主要表现5个方面:
1用户登录时的安全性2网络数据的保护3存储数据以及介质的保护4通信的安全性5企业和Internet网络的单点安全登录。
数据标准化主要包括业务建模阶段(是数据标准化基础和前提),数据规化阶段(是核心和重点),文档规化阶段(是数据标准化成果的有效应用的关键)信息资源管理工作层上的最重要角色是数据管理员(DA),数据管理员(职责)负责支持整个企业目标的信息资源规划、控制和管理;协调数据库和其他数据结构的开发,使数据存储冗余最小而具有最大相容性;负责建立有效使用数据资源的标准和规程,组织所需要的培训;负责实现和维护支持这些目标的数据字典;审批所有对数据字典做的修改;负责监督管理数据部门中的所有职员的工作;还应该具有良好的沟通能力,并对日常数据进行更新和维护。
故障及问题管理
问题分析方法主要有4种:
Kepner&Tregoe法,鱼骨图法,头脑风暴法和流程图法
Kepner&Tregoe问题分析法的分析步骤:
1定义问题2描述问题3找出产生问题的可能原因4测试最可能的原因5验证问题原因,故障管理的目标是尽可能快地恢复服务级别协议规定的水准,尽量减少故障对业务运营的不利影响,以确保最好的服务质量和可用性。
故障特征:
影响度,紧迫性,优先级;数据库故障的类别:
事务故障,系统故障,介质故障,计算机病毒,网络故障时处理办法有1双主干,当网络发生故障时,辅助网络就会承担数据传输任务,两条主干线应相距较远,避免同时损坏2开关控制技术,可以精确地检测发生故障的位置,并用辅助路径分担数据流量3路由器,可以为数据指明多条路径4通信中件,可以使通信绕过故障电路,通过其他路径来传输数据
故障管理流程包含:
故障监视,故障调研,故障分析和定位,故障支持和恢复处理,故障终止,故障处理跟踪问题管理流程主要涉及问题控制(l发现和记录问题2问题分类3调查分析),错误控制(l发现和记录错误2评价错误3记录错误解决过程4终止错误5跟踪监督错误解决过程),问题预防(趋势分析和制定预防措施)和管理报告4种活动
系统故障类型:
1硬件及外设故障2应用系统故障3请求服务和操作故障
人员为什么是故障监视的重点?
故障接触人员在故障监视过程中有着重要的影响和作用,为了尽快发现和应对故障,同时防止非规操作扩大故障对系统和业务的影响,需要对故障接触人员进行严格管理,故障监视应该针对不同故障接触人员指定监视职责,制定相关操作手册,而故障接触人员应该严格按照规定执行操作和报告。
同时,故障接触人员本身及其活动也是监视项目。
故障接触人员如下:
1故障现场接触人员,故障发生现场的接触人员2初级支持人员,提供一线的初级支持3高级支持人员,故障处理专家,问题管理报告容:
1事件报告2产品质量3管理效果4常规问题管理与问题预防管理之间的关系5问题状态和行动计划6改进问题管理的意见和建议.系统维护的任务就是有计划、有组织地对系统进行必要地改动,以保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态,信息系统维护容:
1系统应用程序维护2数据维护3代码维护4硬件设备维护5文档维护系统维护的方法:
1建立明确的软件质量目标和优先级2使用提高软件质量的技术和工具3进行明确的质量保证审查4选择可维护的程序设计语言5系统文档
系统维护的需求主要源于决策层的需要、管理机制或策略的改变、用户意见及对信息系统的更新换代,系统维护项目包括硬件维护,软件维护,设施维护,网络维护,系统实施成功与否(关键)的因素:
1进度的安排2人员的组织3任务的分解4开发环境的构建系统开发环境包括(硬件环境、软件环境、网络环境等).程序设计的步骤:
1了解计算机系统的性能和软硬件环境2充分理解系统分析、系统设计的全部文档3根据设计要求和软硬件环境,选定程序设计语言4编写程序代码5程序的检查、编译和调试
程序设计的质量要求如下:
1程序的正确性2源程序的可读性3较高的效率
结合实践谈谈好的程序设计风格对程序质量的影响?
程序设计风格包括:
1标识符的命名2程序中的注释3程序的布局格式4数据说明5程序语句的结构6输入和输出7程序的运行效率从以上7个方面结合质量谈信息系统测试分别按照硬件系统测试、网络系统测试和软件系统测试,最后对整个系统进行总的综合测试。
软件测试的类型有:
模块测试、联合测试,验收测试,系统测试
联合测试(集成测试)有两种:
由上到下和由下到上;验收测试分为:
à测试与?
测试
测试的原则:
1应该尽早并不断地进行测试
2测试工作应该避免由原开发人员或小组来承担
3在设计测试方案时,不仅要确定输入数据,而且要从系统的功能出发确定输出结果
4在设计测试用例时,不仅要包括合理有效的输入条件也要包括不合理失效的输入条件
5在测试程序时,不仅要检测程序是否做了该做的事情,还要检测程序做了不该做的事情
6充分重视测试中的群集现象
7严格按照测试计划来进行避免测试的随意性
8妥善保存测试计划、测试用例作为软件文档的组成部分,为维护提供方便
单元测试任务包括:
1、模块接口测试2、模块局部数据结构测试3、模块边界条件测试4模块中所有独立执行通路测试5模块的各条错误处理通路测试
软件测试分为人工测试和机器测试其中人工测试(个人复查、走查、会审)机器测试(黑盒测试、白盒测试)
系统测试过程(步骤):
1拟订测试计划2编制测试大纲3设计和生成测试用例4实施测试5生成测试报告
测试计划容包括:
测试容,进度安排,测试所需的环境和条件,测试培训安排
测试记录的容:
1发现的错误2纠错时对系统做的修改3退化测试情况4错误原因类型比率的分析和统计
确认测试步骤:
1有效性测试2软件配置审查3验收测试4安装测试
系统测试:
1恢复测试2安全性测试3强度测试4性能测试5可靠性测试6安装测试
系统测试报告的主要容:
1概述说明系统测试的目的2测试环境,有关软硬件、通信、数据库、人员等情况3测试容,系统、子系统、模块的名称、性能技术指标等4测试方案,测试的方法、测试数据、测试步骤、测试环境、测试中故障的解决方案等5测试结果,测试的实际情况、结果等6结论,系统功能评价、性能技术指标评价、结论。
测试计划容:
1每个测试阶段的目的2每个阶段完成的标准3时间进度表4每个阶段负责人5测试用例库6测试所需的工具7每个测试阶段所需机时数
系统试运行阶段的工作主要包括:
1对系统进行初始化,输入各种原始数据记录2记录系统运行的数据状况3核对新旧系统输出结果4对实际系统的输入方式进行考查5对系统实际运行速度、响应速度进行实际测试
新旧系统转换的方式:
有3种为直接转换、并行转换、分段转换
调试方法:
1试探法2回溯法3对分查找法4归纳法5演绎法
目前软件过程改进主要根据能力成熟度模型集成CMMI,其层次分为初始级、可重复级、已定义级、已管理级、优化级
编程质量管理层次可分为黑盒测试、灰盒测试、白盒测试、编译检查、编程规、编程逻辑、编程优化。
系统分析、设计及实施
系统规格说明书应该达到的基本要:
全面、系统、准确、详实、清晰地表达系统开发的目标、任务和系统功能。
系统说明书容如下:
1引言,说明项目的名称、目标、功能、背景、引用资料,文中所用的专业术语等2项目的概述,(项目的主要工作容;现行系统的调查情况;新系统的逻辑模型)3实施计划(工作任务的分解;进度和预算)
系统分析的主要任务:
理解和表达用户对系统的应用需求
系统分析阶段的基本任务:
系统分析员和用户在一起,充分理解用户的要求,并把双方的理解用书面文档(系统说明书)表达出来。
系统分析员的职责是系统分析,是用户和技术人员之间的桥梁和“翻译”,为管理者提供控制开发的手段。
系统分析员应该具备坚实的信息系统知识,了解计算机技术的发展,具备管理科学知识与财务基础知识;应有较强的系统观点和较好的逻辑分析能力,具备较好的口头和书面表达能力、较强的组织能力、善于与人共事;总之应具有现代科学知识,具有改革思想和改革能力的专家。
系统分析的困难主要来自3个方面:
问题空间的理解;人与人之间的沟通;环境的不断变化系统分析的步骤:
1现行系统的详细调查2在详细调查的基础上,进行需求分析3提出新系统的逻辑模型4编写系统规格说明书。
结构化分析方法是一种单纯的自顶向下逐步求精的功能分解方法,按照系统部数据传递,以变换的关系建立抽象模型,然后自顶向下逐层分解,由粗到细,由复杂到简单,结构化分析的核心特征是“分解”与“抽象”。
结构化分析方法指导思想:
用系统的思想,系统工程的方法,按用户至上的原则,结构化、模块化自顶向下对信息系统进行分析与设计。
原型方法表现不同的运用方式分为:
探索型,试验型,演化型
结构化分析使用的工具:
数据流图,数据字典,实体关系图,结构化语言,判定表和判定树绘制数据流图应遵循的主要原则:
1确定外部项2自顶向下逐层扩展3合理布局4它只反映数据的流向、加工、逻辑上的存储5数据流图的绘制过程就是系统逻辑模型的形成过程,需要和用户不断磋商,达成一致意见。
采用迭代递增开发模型的建模过程:
1需求分析2系统分析3设计(结构设计与详细设计)4实现5测试和配置
系统设计的目标:
1系统的可靠性2较高的系统运行效率3系统的可变更性4系统的灵活性与经济性系统设计的原则:
1系统性原则2简单性原则3开放性原则4管理可接收原则5其他原则;系统设计还应该遵循经济性和安全性。
系统总体设计的主要任务:
完成对系统总体结构和基本框架的设计,系统总体设计包括两方面容,系统总体布局设计和系统模块化结构设计。
系统总体结构设计的主要原则:
1分解一协调原则2信息隐蔽和抽象原则3自顶向下原则4一致性原则5面向用户原则
系统总体布局是指系统的平台设计,即系统类型,信息处理方式设计,网络系统结构,软硬件配置以及数据资源在空间的分布设计;
系统总体布局方案应当满足处理功能和存储功能的要求,满足系统易用性,可维护性,可扩展性,可变更性和可靠性好的要求,并考虑系统的经济性。
系统详细设计容:
1代码设计 2数据库设计 3输入/输出设计 4用户界面设计 5处理过程设计数据库
设计主要步骤:
1用户需求分析 2概念结构设计 3逻辑结构设计 4物理结构设计
可行性研究由以下8步组成:
1复查系统目标和规模2研究目前在使用的系统3导出新系统的高层逻辑模型4重新定义问题5导出和评价供选择的方案6推荐一个方案并说明理由7草拟开发计划8书写文档提交审查
UML在软件开发不同阶段的应用1需求分析2系统分析阶段3系统设计阶段4系统实施5系统测试阶段数据字典有6类条目:
数据项、数据结构、数据流、数据存储、处理过程和外部实体
系统设计说明书应该包括引言和系统总体技术方案,其中引言(1摘要2背景3工作条件/限制4参考和引用资料5专门术语定义);系统总体技术方案:
1系统配置方案2模块设计3代码设计4输入设计5输出设计6数据库设计说明7实施方案说明书
信息系统实施阶段的任务包括容:
1硬件配置2软件编制3人员培训4数据准备
为了降低风险,在实施方法上应该注意2点:
1尽可能选择成熟的软件产品,以保证系统的高性能及高可靠性2选择好的信息系统开发工具
3.à、ß测试
高层管理者
项目管理层
明确顶目经理责权
立奖惫瑙明的考核机制
3.项目管理
项目过程改进组
立法
项目组
质量吴证组
执法
监督
目管理围中,有如下阶段需要应用估算技术:
l)项目围估算2)项目成本估算3)项目进度估算4)项目风险估算
项目度量定义项目、制定项目计划的时候需要进行项目估算,而项目执行过程中的跟踪监督过程则离不开度量。
良好的项目管理主要针对项目要素进行跟踪度量,通过分析度量数字就可以及时发现项目进展中存在的问题,从而有针对性地制定解决方案。
通常需要度量的项目要素包括:
l)项目进度度量2)缺陷度量3)项目工作量度量4)人员生产率度量5)需求变更率
网络信息资源的评价主要从以下几个方面考虑:
一是准确性;二是权威性;三是时效性。
网络信息检索的一般步骤有七个主要过程。
第一,明确检索需求。
第二,确定检索围。
第三,确定有效的检索词。
第四,构造合适的检索表达式。
第五,选择合适的检索工具。
第六,正式检索。
第七,评价检索结果。
系统测试的基本方法计算机软件是基于计算机系统的一个重要组成部分,软件开发完毕后应与系统中其它成分集成在一起,此时需要进行一系列系统集成和确认测试。
在系统测试之前,软件工程师应完成下列工作:
(l)为测试软件系统的输入信息设计出错处理通路;
(2)设计测试用例,模拟错误数据和软件界面可能发生的错误,记录测试结果,为系统测试提供经验和帮助;
(3)参与系统测试的规划和设计,保证软件测试的合理性。
系统测试应该由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能正常工作并完成所赋予的任务。
下面简单讨论几类系统测试。
1恢复测试:
恢复测试主要检查系统的容错能力2安全测试:
安全测试检查系统对非法侵入的防能力3强度测试:
强度测试检查程序对异常情况的抵抗能力4性能测试
需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统的接口细节,定义软件的其他有效性需求。
需求分析阶段研究的对象是软件项目的用户要求。
包括:
必须全面理解用户的各项要求,但又不能全盘接受所有的要求;要准确地表达被接受的用户要求,只有经过确切描述的软件需求才能成为软件设计的基础。
正式验收的一般程序包括以下八个步骤:
·承建方作关于项目建设情况、自检情