(一)软件工程及项目管理基础知识:信息系统工程质量管理:质量计划、质量保证、质量控制软件质量因素:正确性、健壮性、安全性、可用性、适应性、效率、风险、可理解性、可维修性、可测试性、可移植性、可再用性、互运行性。项目进度控制的重要方法:规划、控制、协调进度控制所采取的措施如下: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、社会因素层次(质量环境、技术标准、业务标准、人员)目前软件过程改进主要根据能力成熟度模型集成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类条目:数据项、数据结构、数据流、数据存储、处理过程和外部实体系统设计说明书应该包括引言和系统总体技术方案,其中引言(l摘要2背景3工作条件/限制4参考和引用资料5专门术语定义);系统总体技术方案:1系统配置方案2模块设计3代码设计4输入设计5输出设计6数据库设计说明7实施方案说明书信息系统实施阶段的任务包括内容:1硬件配置2软件编制3人员培训4数据准备为了降低风险,在实施方法上应该注意2点:1尽可能选择成熟的软件产品,以保证系统的高性能及高可靠性2选择好的信息系统开发工具系统实施成功与否(关键)的因素: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演绎法(三)系统管理规划信息系统具有哪些结构?1信息系统层次结构(战略计划层,战术管理层,业务处理层2功能结构(从技术角度来看,信息系统无非是信息的输入、处理和输出等功能;从用户的角度来看,应该支持整个组织在不同层次上的各种功能;从业务角度看信息系统功能结构应该包括行政子系统,研发、生产、营销、财务、人事、物流七个子系统;3软件结构4硬件结构(集中式,分布—集中式,分布式)信息系统有哪些类型?1面向作业处理的系统2面向管理控制的系统3面向决策计划的系统信息系统对企业的生产过程、管理过程、决策过程都产生了重