当前位置:文档之家› 软件工程第二章-软件过程

软件工程第二章-软件过程

软件开发流程管理制度

软件开发流程管理制度 (讨论稿) 为加强对定制软件开发工作管理,缩短开发周期,提高软件开发质量,降低开发成本,提高定开发效率和效益,特制定软件开发流程管理制度。 第一章、总则 为保证日常工作正常有序的进行,让开发中各个环境更紧凑,更可控,需要尽可能实现项目管理的正规化,工作过程的流程化,以便提高软件质量,按期交付。 1、软件开发总体遵循项目管理和软件工程的基本原则。 2、项目管理涉及项目立项、项目计划和监控、配置管理。 3、软件工程涉及需求分析、系统设计、软件实现、系统测试、用户测试、试运行、系统验收、系统上线和数据迁移、产品维护。 第二章、阶段成果 根据软件工程的过程,制定以下工作流程,并规定了各个重要环节需要提交的交付物。各阶段需提交的文档: 1、立项:项目申请表,软件需求报告或设计方案。 2、需求分析:项目研发主计划、需求规格说明书 3、总体设计:概要设计说明书或功能模块描述 4、详细设计:详细设计说明书,包括软件接口说明、单元测试计

划。 5、软件实现:软件功能说明、源代码说明或者注释 6、产品测试:测试报告 7、产品发布:产品说明书、使用手册 8、产品维护:问题反馈记录 9、项目总结:提交客户方的项目总结和公司项目汇报的PPT。软件过程成果表:

第三章、岗位设置 根据公司目前的开发过程主要分为分析、开发、测试三个阶段。分析阶段完成用户需求文档的编写,系统总体设计的编写;开发阶段完成设计文档的编写,代码的编写、代码的维护。测试阶段完成系统的测试,测试文档及其他材料。通过逐渐的调整岗位,明确工作职责,逐步实现项目经理,软件设计师,程序员,测试工程师的岗位设置。

软件开发流程 论文

毕业设计(论文)题目:软件开发流程管理 班级:11工升 学号:1000303071 姓名: 指导教师: 2014年11月

摘要 从软件开发最初至今,不断地有新的软件开发技术产生,但是在软件开发能力和质量方面却始终存在达不到预计目标这一问题。每一个软件开发的最大目标,就是最大限度提高质量与生产率。而影响质量与生产率的三个关键因素:过程、人和技术,因此,我们除了提高技术能力,培养更多优质人才之外,还需要制定一套软件开发过程管理标准,并在软件开发过程中对这一标准不断地完善,以达到提高软件质量与生产率的目标。 本文结合CMM(软件过程成熟度模型),对软件开发、维护全过程进行标准化、规范化管理,制定出软件开发管理标准。 关键词:软件开发过程,管理标准

目录 第一章软件开发的概念及目的 (4) 第二章软件开发流程划分及开发环境 (4) 2.1.软件开发阶段划分 (4) 2.2.软件开发环境需求...........................................................错误!未定义书签。第三章软件开发过程中存在的问题............................................错误!未定义书签。 3.1.对用户方需求的掌握不全面...........................................错误!未定义书签。 3.2.对软件的价值认识不清晰...............................................错误!未定义书签。 3.3.跟用户方的合作不顺利...................................................错误!未定义书签。 3.4.开发队伍的结构不合理...................................................错误!未定义书签。 3.5.软件开发管理制度不健全...............................................错误!未定义书签。 3.6.开发团队人员不稳定.......................................................错误!未定义书签。第四章软件开发流程管理规范.. (10) 4.1.什么是CMM (10) 4.2.结合CMM制定开发流程管理方案 (11) 4.2.1软件项目生命周期模型...........................................错误!未定义书签。 4.2.2需求分析流程图及描述...........................................错误!未定义书签。 4.2.3设计流程图及描述...................................................错误!未定义书签。 4.2.4编码流程图及描述...................................................错误!未定义书签。 4.2.5测试流程图及描述...................................................错误!未定义书签。 4.2.6验收流程图及描述 (22) 第四章软件开发行业前景 (23) 参考文献..........................................................................................错误!未定义书签。

第2章 软件工程 答案

第2章软件工程 一、选择题 1.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致 了___A___ A .软件危机 B .软件工程 C .程序设计革命 D .结构化程序设计 2.“软件工程的概念是为解决软件危机而提出的”这句话的意思是___C______。 A 强调软件工程成功解决了软件危机的问题 B 说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理 C 说明软件工程这门学科的形成是软件发展的需要 D 说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护 3.瀑布模型的存在问题是_____B______。 A.用户容易参与开发B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 4.下列关于瀑布模型不正确的是_____B______。 A 瀑布模型上一阶段的变换结果是下一阶段的输入 B 瀑布模型每个阶段都不需要反馈 C 瀑布模型提供了软件开发的基本框架 D 瀑布模型存在局限性 5.快速原型是利用原型辅助软件开发的一种新思想,它是在研究___A___的方法和技术中产生的。 A 需求阶段 B 设计阶段 C 测试阶段 D 软件开发的各个阶段 6.原型化方法是用户和设计者之间执行的一种交互构成,适用于__A____系统。A.需求不确定性高的B.需求确定的C.管理信息D.实时 7. 信息隐蔽概念与_____A_______这一概念直接的相关。

A 模块的独立性 B 模块类型的划分 C 软件结构定义 D 软件生命周期 8. 为高质量地开发软件项目,在软件结构设计时,必须遵循____A_____原则。 A 信息隐蔽 B 质量控制 C 程序优化 D 数据共享 9._____A_________的目标是确定软件开发工程的总目标,确定工程的可行性。 A 软件定义 B 软件开发 C 软件测试 D 软件维护 10.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出___B____ 的回答。 A.确定 B.行或不行 C.正确 D.无二义 11.经济可行性研究的范围包括___C____。 A.资源有效性 B.管理制度 C.效益分析 D.开发风险 12.需求分析中开发人员要从用户那里了解____A____。 A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 13. 需求分析阶段的任务是确定____D_____。 A 软件开发方法 B 软件开发工具 C 软件开发费 D 软件系统的功能 14. 需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出____B_____的过程。 A 模块说明书 B 软件规格说明 C 项目开发计划 D 合同文档 15. 需求规格说明书的作用不包括____C_______ A 软件验收的依据 B 用户与开发人员对软件要做什么的共同理解 C 软件可行性研究的依据 D 软件设计的依据

软件工程第2章作业 (2)

软件工程第2章作业 一、填空题(每小题2分,共22分) 1、可行性研究实质上是进行一次简化、压缩了的___需求分析和设计____。 2、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性。_______。 3、可行性研究的第一个具体步骤是___确定项目的规模和目标_______。 4、若年利率为i ,不计复利,P 元在n 年后的价值F 是__ P (1+i )n _______。 5、整个生存周期系统的累计收入的折现值PT 与总成本折现值ST 之差称为___纯收入_______。 6、把资金投入到项目中与把资金存入银行比较,其中投入到项目中可获得的年利率就称为项目的_____投资回收率______________。 7、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定__问题是否能够解决。____________。 8、可行性研究在进行简要需求分析和设计时,要在高层次上以___抽象方式____________进行。 9、软件工程有两种效益,它们是无形效益和___有形效益___________。 10、项目开发计划是一种___管理性___________文档。 11、基于计算机系统的系统元素主要有硬件、软件、人、_数据库_______、文档、__过程_________。 二、选择题(每选择题2分,共36分) 1、可行性研究的目的是决定( B )。 A 、开发项目 B 、项目是否值得开发 C 、规划项目 D 、维护项目 2、技术可行性要研究的问题之一是( B )。 A 、存在侵权否 B 、成本效益问题 C 、运行方式可行否 D 、技术风险问题 3、纯收入是累计效益现在值与投资之( B )。 A 、和 B 、差 C 、积 D 、商 4、项目开发计划这类文档是一种( B )。 A 、技术性文档 B 、管理性文档 C 、需求分析文档 D 、设计文档 5、在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是( B )。 A 、经济可行性 B 、技术可行性 C 、操作可行性 D 、法律可行性 6、在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( D )。 A 、工作阶段间的等待时间 B 、生产原型的复杂性 C 、参与人员所需的工作站数 D 、参与人员之间的通信困难 7、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是( D )。 A 、组织与管理 B 、分析与估算 C 、设计与测试 D 、规划与调度

面向对象软件工程 第二章 答案

Object-Oriented Software Engineering: Using UML, Patterns, and Java: Solutions to Exercises 2. Modeling with UML: Solutions 2-1 Consider an ATM system. Identify at least three different actors that interact with this system. An actor is any entity (user or system) that interacts with the system of interest. For an ATM, this includes:?Bank Customer ?ATM Maintainer ?Central Bank Computer ? Thief The last actor is often referred to as a “misactor” in the literature, because it is an actor that interacts with the system but shouldn’t. 2–2Can the system under consideration be represented as an actor? Justify your answer. The system under consideration is not external to the system and shouldn’t be represented as an actor. There are a few cases, however, when representing the system as an actor may clarify the use case model. These include situations where the system initiates uses cases, for example, as time passes (Check for Outdated Articles, Send Daily Newsletter). 2–3What is the difference between a scenario and a use case? When do you use each construct? A scenario is an actual sequence of interactions (i.e., an instance) describing one speci ?c situation; a use case is a general sequence of interactions (i.e., a class) describing all possible scenarios associated with a situation. Scenarios are used as examples and for clarifying details with the client. Use cases are used as complete descriptions to specify a user task or a set of related system features. 2–4Draw a use case diagram for a ticket distributor for a train system. The system includes two actors: a traveler, who purchases different types of tickets, and a central computer system, which maintains a reference database for the tariff. Use cases should include: BuyOneWayTicket , BuyWeeklyCard , BuyMonthlyCard , UpdateTariff .Also include the following exceptional cases: Time-Out (i.e., traveler took too long to insert the right amount), TransactionAborted (i.e., traveler selected the cancel button without completing the transaction), DistributorOutOfChange , and DistributorOutOfPaper . Figure 2-1Example solution to Exercise 2–4. BuyOneWayTicket BuyWeeklyCard UpdateTariff TransactionAborted DistributorOutOfChange DistributorOutOfPaper DistributorException <> <> <>

软件工程--课后答案

第一章: 1.1 简述软件的定义、软件的特点和软件危机的表现。 软件的定义:软件是由计算机程序、数据和文档组成的。 软件的特点:1)抽象性,2)软件生产无明显的制造过程,3)无磨损性,4)对计算机系统的依赖性,5)软件的手工开发方式,6)软件本身复杂性,7)软件的高成本软件危机的表现:1)软件开发周期大大超过规定日期,2)软件开发成本严重超标,3)软件质量难于保证。 1.2 什么是软件工程和软件工程化? 软件工程: 软件工程化:把软件工程理论应用到软件开发组织中,以改进软件产品开发的时间(T)、质量(Q)、成本(C)和服务(S)。 1.3简要说明软件工程三要素与质量关注点之间的关系。 软件工程的三要素:方法、工具和过程。关系看P4 1.4如何构造软件过程? 软件过程构造时首先应建立一个公共过程框架,其中定义了少量可用于所有项目的框架活动;再给出各个框架活动的任务集合,使得框架活动能够适合于项目的特点和项目组的需求;最后是保护性活动。 1.5什么是软件生存周期?软件生存周期分为哪几个阶段?各阶段的任务是什么? 软件生存周期:是软件产品或软件系统从设计、投入使用到被淘汰的全过程。 软件生存周期:定义、开发、维护。 1)定义:包括问题定义、可行性研究和需求分析。 2)开发时期包括设计、编码和测试。 3)维护时期包括维护阶段。 1.6常用的软件工程方法和开发模型各有哪些? 软件工程方法:生命周期法(又称传统方法或结构化方法)、面向对象方法和原型法。 软件开发模型:瀑布模型、快速原型模型、演化模型、面向对象模型、形式化方法模型。 1.7什么是软件工具、软件开发环境和软件工程环境? 软件工具:是用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。 1.8软件工程的基本原理: 1)按软件生存期分为阶段制定计划并认真实施。 2) 坚持进行阶段评审。 3)坚持严格的产品控制。 4)使用现代程序设计技术。 5)明确责任,使得工作结果能够得到清楚的审查。 6)人员应少而精。 7) 不断改进开发过程。 第二章: 2.3软件文档可分为哪几类?各包括哪几类文档? 软件文档可分3类。为1)开发文档,2)管理文档,3)用户文档。

软件项目管理答案-第2章作业

习题:第二章-软件项目范围计划 一、选择题 1. 需求分析是回答系统必须( A )的问题 A. 做什么 B. 怎么做 C. 何时做 D. 为谁做 2. WBS(工作分解结构)非常重要,因为下列原因,除了(D ) A. 帮助组织工作 B. 防止遗漏工作 C. 为项目估算提供依据 D. 确定团队成员责任 3. 项目范围(C) A. 只在项目开始时重要 B. 在授权项目的合同或者其他文件得以批准后就不再重要了 C. 从项目概念阶段到收尾阶段都应该加以管理和控制 D. 是在项目执行阶段通过变更控制步骤进行处理的问题 4. 为了有效地管理项目,应该将工作分解为更小的部分,以下各项中,哪一项不能说明任务应该分解到什么程度?( C ) A. 可以在80小时内完成 B. 不能再进一步进行逻辑细分了 C. 可由一个人完成 D. 可以进行实际估算 5. 范围变更是指(C ) A. 修改技术规格 B. 对范围陈述进行修订 C. 对批准后的WBS进行修改 D. 以上都不是 6. 下面哪个不是需求管理的过程(A ) A. 需求设计 B. 需求获取 C. 需求分析 D. 需求变更 7. 下面那个不是创建WBS的方法(C ) A. 自顶向下 B. 自底向上

C. 控制方法 D. 模版指导 8. 任务分解可以( B ),它是范围变更的一项重要输入 A. 提供项目成本估算结果 B. 提供项目范围基线 C. 规定项目采用的过程 D. 提供项目的关键路径 9. 范围基线由(B )组成 A. 项目章程、批准的详细的项目范围说明书和WBS B. 批准的详细项目范围说明书、WBS和WBS字典 C. 项目章程、项目工作说明书和WBS D. WBS 二、判断题 10. 需求分析过程是确定项目如何实现的过程,并确定项目的技术方案(X ) 11. 对于一个重来没有做过的项目,开发WBS时,可以采用用自底向上的方法()

软件工程导论答案 第2章 习题答案

答案 习题2 2-1在软件开发的早期阶段为什么要进行可行性分析研究?应该从哪些方面研究目标系统的可行性? 可行性分析是要进行一次大大压缩简化系统分析和设计过程,避免时间、资源、人力和金钱的浪费。 技术上的可行性——使用现有的技术能实现这个系统吗? 经济上的可行性——这个系统的经济效益能超过它的开发成本吗?(投资与效益)操作可行性——系统的操作方式在这个用户组织内行得通吗? 社会、政策允许的可行性 2-2 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。请画出此系统的数据流图。

2-3为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印出机票给旅客。请画出系统的数据流图。 2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危险病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。 医院对患者监护系统的基本要求是随时接受每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以及形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。请画出系统的数据流图。

软件工程第二章软件过程

第二章:软件过程 目标: 软件工程和软件过程模型的概念; 了解3个一般的软件过程模型及何时使用它们; 了解软件需求工程,软件开发,测试和进化中所涉及的基本过程活动; 理解为什么软件过程要有效地组织以应对软件需求和设计上的变更; 了解Rational统一过程是如何集成好的软件过程实践来产生一个可适应的软件过程。 所有的软件过程都必须具有4种对软件工程来说是基本的活动。它们是: 1.软件描述:必须定义软件的功能以及软件操作上的约束。 2.软件设计和实现:必须生产符合描述的软件。 3.软件有效性验证:软件必须得到有效性验证,即确保软件是客户所想要的。 4.软件进化:软件必须进化以满足不断变化的客户需要。 2.1软件过程模型 一软件过程模型一般有 1.瀑布模型:该模型将基本的过程活动,描述,开发,有效性验证和进化,看成是一些界限分明的独立的过程阶段,例如,需求描述阶段,软件设计阶段,实现阶段,测试阶段,等等。 2.增量式开发:该方法使得描述活动,开发活动和有效性验证活动交织在一起。系统的开发是建立一系列的版本(增量),每个版本添加部分功能到先前的版本中。 3.面向复用的软件工程:该方法使得描述活动,开发活动和有效性验证活动交织在一起。系统开发过程着重于集成这些组件到新系统中,而非从头开发。 2.1.1瀑布模型 一瀑布模型中的主要阶段直接映射基本的开发活动: 1.需求分析和定义 2.系统和软件设计 3.实现和单元测试 4.集成和系统测试 5.运行和维护 二适合采用瀑布模型的时候 瀑布模型是与其他工程过程模型相一致的,在它的每个阶段都要生成文档。这使得过程是可见的,项目经理能够根据项目计划监控项目的过程。它的主要问题在于它将项目生硬地分解成这些清晰的阶段。关于需求的责任和义务一定要在过程的早期阶段清晰界定,而这又意味它对用户需求变更的响应较困难。 所以只有在对需求了解的好,而且在系统开发过程中不太可能发生重大改变的时候,适合采用瀑布模型。 瀑布模型的一个重要变形是形式化系统开发。针对系统描述创建其数学模型。然后采用能保持一致性的数学变换对该数学模型进行加工,知道产生可执行代码。 形式化的开发过程,如基于B方法特别适用于有严格安全性,可靠性或信息安全性需求的系统的开发。形式化方法简化了安全用例和信息安全性的需求。 基于形式变换的过程通常只用于开发安全性或信息安全性要求极高的一类系统。这需要非常专业的知识和技能。对于大多数系统,在系统开发中应用这一过程不会比其他方法带来明显

第二章软件开发工具知识点

一、选择填空知识点 1、软件开发中所遇到的困难来源于大系统的(复杂性),来源于人们知识的(不足),来源于迅速变化的(客观世界)。 2、为克服软件危机,人们先后提出了(结构化程序设计方法)(软件工程方法)(面向对象的程序设计方法)(即插即用的程序设计方法),直到最近的(面向开源软件)和(互联网平台的程序设计)。 3、在克服软件危机的过程中,有两个领域的问题需要特别注意,一个是(软件质量的评价与改善),一个是(项目管理的任务与方法)。 4、软件开发过程中主要完成两个转换,首先是从(用户)的理解到(程序员)的理解,其次是从(程序员的理解)到(程序的实现)。 5、两个转换中,第一个转换是(工作方式上)的区别,第二个转换是(人与机器之间思维方式上)的区别。 6、从程序员的理解到程序的实现的关键在于程序员的(知识水平)与(实际经验)。 7、如果单个程序员独自编写程序相当于手工作坊的工作方式,真正的大型软件的研制必须采用(现代化的大生产的方式)才能完成。 8、当人们修改程序的某一处时,由于没有考虑到这一修改对相关部分带来的影响,结果出现了新的错误,这就是所谓的(水波效应)。 9、在软件测试时,通过输入一些信息,观察是否能得到预期结果,这就是所谓的(黑箱)检验方法。 10、软件开发过程中,文档包括(功能说明书)(总体设计)(各模块的设计任务书)和(测试报告)。 11、软件版本更新中大量工作往往在于(审核)与(回顾)。 12、大型软件开发中,作为用户来说,应该承担的责任有(提出需求)(验收)(使用)(要求修改)。 13、大型软件开发中,作为项目负责任来说,应该承担的责任有(分析需求)(分配任务)(验收模块)(联调)(交付使用)(验收修改成果)(分析修改需求)。 14、大型软件开发中,作为程序员来说,应该承担的责任有(编写软件)(模块调试)(交付检验)(交付检验)(修改)。 15、软件开发中,涉及到的四个角色是(用户)(项目负责人)(程序员)(硬件)。 16、结构化程序设计的思想是在20世纪(60年代)产生的。 17、结构化程序设计方法中,把程序的结构分解成三种基本模块(处理单元)(循环机制)(二分决策机制)。 18、模块划分中,模块的功能在逻辑上尽可能地(单一化)(明确化),最好做到一一对应。 19、每一个模块实现一项明确的任务,反之每一项任务仅由一个模块来完成,这称之为模块的(凝聚性)。 20、模块划分中,模块之间的联系尽量避免(逻辑)耦合,而仅限于(数据)耦合。 21、模块的规模应当足够小,以便于本身的(调试)易于进行。 22、为更好的划分软件的结构,采用(自上而下、逐步分解)的办法,分成若干部分。

软工题第二章

软工题第二章

————————————————————————————————作者:————————————————————————————————日期: ?

第二章习题 一、选择题 1、可行性分析研究的目的是( ) A.争取项目 B.项目值得开发否 C.开发项目D.规划项 2. 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( )的回答。 A.确定B.行或不行C.正确D.无二义 3、DFD中的每个加工至少需要( ) A.一个输入流 B. 一个输出流 C. 一个输入或输出流 D. 一个输入流和一个输出流 4.数据流图( DFD )是_________方法中用于表示系统的逻辑模型的一种图形工具。() A .SA B .SD C . SP D . SC 5.在软件开发中,( )是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较和权衡。 A. 成本—效益分析 B. 可行性分析 C. 结构化分析 D. 软件需求分析 6.软件可行性研究一般不考虑( ) A.是否有足够的人员和相关的技术来支持系统开发 B.是否有足够的工具和相关的技术来支持系统开发 C.待开发软件是否有市场、经济上是否合算 D.待开发的软件是否会有质量问题 7、下列模型属于成本估算方法的有() A、COCOMO模型 B、McCall模型 C、McCabe度量法 D、时间估算法 8、从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。( ) A、3±1 B、7±2 C、15±1 D、18±2 9、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A.技术可行性B.经济可行性 C. 社会可行性D.法律可行性 10. 软件可行性研究实质上是要进行一次( )需求分析、设计过程。

软件工程导论答案(第二章)

习题2 2-1在软件开发的早期阶段为什么要进行可行性分析研究?应该从哪些方面研究目标系统的可行性? 可行性分析是要进行一次大大压缩简化系统分析和设计过程,避免时间、资源、人力和金钱的浪费。 技术上的可行性——使用现有的技术能实现这个系统吗? 经济上的可行性——这个系统的经济效益能超过它的开发成本吗?(投资与效益)操作可行性——系统的操作方式在这个用户组织内行得通吗? 社会、政策允许的可行性 2-2 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。请画出此系统的数据流图。

2-3为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印出机票给旅客。请画出系统的数据流图。 2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危险病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。 医院对患者监护系统的基本要求是随时接受每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以及形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。请画出系统的数据流图。

第2章 软件过程

第二章软件过程 【本章小结】 软件过程是软件工程人员为了获得软件产品在软件工具支持下实施的一系列软件工程活动,一般包括问题提出、软件需求说明、软件设计、软件实现、软件确认和软件演化等基本活动。 软件过程应该明确定义团队人员的工作和职责,所执行的活动及其顺序关系,以及活动的内容和步骤。 软件过程模型是对实际过程的抽象描述,描述了从问题提出到软件演化直到废弃,跨越整个生命周期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架,包括软件过程的活动、软件产品以及参与人员的不同角色。 常见的软件过程模型包括瀑布模型、快速原型模型、增量模型、螺旋模型、形式化方法模型、基于组件的开发模型等,每个软件开发组织应该选择适合于该组织的软件开发模型。 瀑布模型适用于在开发的早期阶段软件需求被完整确定的情况;快速原型模型适用于强调系统与用户的交互,且用户需求不明确的情况;增量模型适用于用户需求逐步细化的情况;螺旋模型由于强调风险分析,因此适用于庞大、复杂并具有高风险的系统开发;形式化方法模型适用于对安全性、可靠性和保密性要求极高的软件系统,这些系统需要在投入运行前进行验证;基于组件的开发模型开发具有组件化的结构的软件系统。 【习题与参考答案】 一、简要回答下列问题 1. 简述软件过程的定义。 软件过程是软件工程人员为了获得软件产品在软件工具支持下实施的一系列软件工程活动。包括过程定义、过程执行、过程结果及制品。 2. 软件过程包括哪些基本活动? 一般的软件过程包括问题提出、软件需求说明、软件设计、软件实现、软件确认和软件演化等基本活动。 3.请简要说明软件过程的概念和基本元素。 软件过程是软件工程人员为了获得软件产品在软件工具支持下实施的一系列软件工程活动,它应该明确定义以下元素:过程中所执行的活动及其顺序关系;每一个活动的内容和步骤;团队人员的工作和职责。 3.什么是软件过程制品? 在软件过程的不同阶段,可能产生各种不同的软件制品,诸如需求规格说明、设计说明、源程序与构件、测试用例、用户手册以及各种开发管理文档等,统称为软件过程制品。 4.什么叫软件过程模型,软件过程通常分为哪些基本活动? 软件过程模型抽象描述软件过程的整体框架,一般包括4个主要的基本过程: (1)问题提出:确定待开发系统的总体目标和范围。

软件工程第2章作业

软件工程第2章作业 一、填空题(每小题2分,共22分) 1、可行性研究实质上是进行一次简化、压缩了的__需求分析和设计__________。 2、可行性研究的三个方面是技术可行性、社会可行性和____经济可行性_____。 3、可行性研究的第一个具体步骤是___确定项目的规模和目标_______。 4、若年利率为i,不计复利,P元在n年后的价值F是___p×(1+n×i)?______。 5、整个生存周期系统的累计收入的折现值PT 与总成本折现值ST之差称为纯收入。 6、把资金投入到项目中与把资金存入银行比较,其中投入到项目中可获得的年利率就称为项目的_投资回收率。 7、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定__项目值得开发否____。 8、可行性研究在进行简要需求分析和设计时,要在高层次上以____较抽象形式___________进行。 9、软件工程有两种效益,它们是无形效益和_____有形效益_________。 10、项目开发计划是一种_____管理性_________文档。 11、基于计算机系统的系统元素主要有硬件、软件、人、___数据库_、文档、____规程_______。 二、选择题(每选择题2分,共36分) 1、可行性研究的目的是决定( B )。 A、开发项目 B、项目是否值得开发 C、规划项目 D、维护项目 2、技术可行性要研究的问题之一是( D )。 A、存在侵权否 B、成本效益问题 C、运行方式可行否 D、技术风险问题 3、纯收入是累计效益现在值与投资之( B )。 A、和 B、差 C、积 D、商 4、项目开发计划这类文档是一种( B )。 A、技术性文档 B、管理性文档 C、需求分析文档 D、设计文档 5、在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是( B )。 A、经济可行性 B、技术可行性 C、操作可行性 D、法律可行性 6、在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( D )。 A、工作阶段间的等待时间 B、生产原型的复杂性 C、参与人员所需的工作站数 D、参与人员之间的通信困难 7、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是 ( D )。 A、组织与管理 B、分析与估算 C、设计与测试 D、规划与调度 8、软件项目计划一般不包括以下哪项内容( D )。 A、培训计划 B、人员安排

第二章-软件过程复习课程

第二章软件过程 一、软件生命周期 软件生命周期(Life Cycle),也称生存周期,指软件产品从提出、产生、发展到成熟,直至衰亡的整个时间段。 软件生命周期的组成阶段: (1) 软件定义阶段:做什么?问题定义→可行性研究→需求分析 (2) 软件开发阶段:如何做?总体设计→详细设计→编码和单元测试→综合测试 (3) 运行维护阶段:纠错、适应性修改、增强性修改、预防性修改 二、软件过程的定义 当开发产品或构建系统时,遵循一系列可预测的步骤(路线图)是非常重要的,它有助于及时交付高质量的产品。 (1)所遵循的路线图就称为“软件过程”。 (2)软件过程贯穿软件开发的各阶段,并建立阶段里程碑(Milestones); (3)管理者在软件工程过程中需要对软件开发的质量、进度、成本进行评估、管理和控制; (4)技术人员在软件过程中需采用相应的方法和工具生成软件工程产品,如模型、文档、数据、报告、表格等。 三、软件过程的作用 软件开发过程的作用是: (1)成为开发组活动顺序的向导。 (2)详细说明需要开发哪些制品,何时开发。 (3)指导每一个成员及整个开发组的工作。 (4)提供监控、度量产品和活动所依据的准则。 —软件过程是软件项目管理控制的基础,它为项目提供稳定性、可控性和有组织性,能有效避免混乱。 —若没有一个良好定义的过程,开发组将各行其是,成功与否完全依赖个别优秀的人才,这不是能够长久的。 四、软件过程的组成要素(活动、动作、任务) 软件过程是工作产品构建时所执行的一系列活动、动作和任务的集合。 (1)活动(activity):实现宽泛的大目标。 (2)动作(action):阶段目标。 (3)任务(task):关注小而明确的目标,产生实际产品。 —软件过程由活动组成,活动由动作组成,动作由任务组成。 五、基本框架活动和典型的普适性活动 软件过程框架(process framework)定义了若干个框架活动,及一些适用于整个软件过程的普适性活动 1.基本框架活动 一个通用的软件工程过程框架通常会包含以下5个基本的框架活动: (1)沟通:在技术工作开始前,先和利益相关者进行沟通与协作,以理解项目目标,并收集需求。 (2)策划:制定项目计划,包括需要执行的技术任务、可能的风险、资源需求、工作产品、工作进度计划等。 (3)建模:构思软件的体系结构、构件如何结合等。(4)构建:包括编码和测试。 (5)部署:交付全部软件或部分增量,由用户使用并反馈意见。

(完整)软件工程复习重点

(完整)软件工程复习重点 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)软件工程复习重点)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)软件工程复习重点的全部内容。

三大块内容: 软件危机与软件工程 传统软件开发方法 面向对象方法 一、软件危机与软件工程: 软件、软件危机、软件生存期、软件开发模型、软件管理 1、软件: 软件是能够完成预定功能和性能的可执行的计算机程序 +使程序正常运行所需要的数据 +描述软件开发过程及其管理、程序的操作和使用的有关文档. 文档:分开发、管理、用户、维护文档,作用是记录及解决不可视性、通信与交 流、管理与维护、用户服务 2、软件危机 a)表现:软件成本高、难于控制开发进度、软件工作量估计困难、软件质量低、软件 修改维护困难 b)原因:需求问题(描述不精确、理解不一致)、管理问题、方法和工具问题、软 件本身的特点 3、软件生存期: a)三个时期:定义时期(软件计划、需求分析)—>开发时期(软件设计、编码实现、 测试)—>使用和维护时期(维护) b)六个阶段:软件计划à需求分析à设计à编码à测试à使用与维护 c)生命周期方法特点:顺序性、依赖性,推迟程序的物理实现、质量保证的观点(利于 尽早发现错误,如阶段文档、评审) 4、软件开发模型 a)瀑布模型:文档驱动 i.阶段划分、分而治之、控制开发过程的复杂性 ii.自顶向下、由抽象到具体,顺序进行 优点:规范管理开发过程、文档驱动 缺点:初期系统的需求难以完全确定、文档驱动、周期长 b)原型模型: i.针对:软件开发初期需求难以确定 ii.基本思想:快速建立原型,完善用户需求 iii.优点:用户参与、快速 iv.缺点:快速弱功能、对开发环境要求高 c)螺旋模型(风险驱动) d)增量模型(模块、功能驱动) e)迭代模型 f)喷泉模型 5、软件管理 a)区别于其他工业产品生产管理的特点 b)主要内容:开发计划与进度管理、文档管理、人员组织管理、成本管理、质量管理 二、传统软件工程方法: a)软件计划 i.问题定义

软件工程习题及解答2

第二章习题 一、选择题 1、可行性分析研究的目的是() A.争取项目 B.项目值得开发否 C.开发项目 D.规划项 2. 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。 A.确定 B.行或不行 C.正确 D.无二义 3、 DFD中的每个加工至少需要( ) A. 一个输入流 B. 一个输出流 C. 一个输入或输出流 D. 一个输入流和一个输出流 4 .数据流图( DFD )是 _________ 方法中用于表示系统的逻辑模型的一种图形工具。() A . SA B . SD C . SP D . SC 5. 在软件开发中,()是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较和权衡。 A. 成本—效益分析 B. 可行性分析 C. 结构化分析 D. 软件需求分析 6.软件可行性研究一般不考虑() A.是否有足够的人员和相关的技术来支持系统开发 B.是否有足够的工具和相关的技术来支持系统开发 C.待开发软件是否有市场、经济上是否合算 D.待开发的软件是否会有质量问题 7、下列模型属于成本估算方法的有( ) A、COCOMO模型 B、McCall模型 C、McCabe度量法 D、时间估算法 8、从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。() A、3±1 B、7±2 C、15±1 D、18±2 9、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性 10. 软件可行性研究实质上是要进行一次( )需求分析、设计过程。 A. 简化、压缩的 B. 详细的 C. 彻底的 D. 深入的

软件工程第二章习题

2、假设你要开发一个软件,它的功能是把73624.9385这个数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种软件生命周期模型?请说明你做出这样选择的理由。 解答:采用瀑布模型。 原因:软件需求明确,不必使用快速原型模型获取用户的真正需求。软件的功能简单,不必使用增量模型和螺旋模型。 3、假设你要为一家生产和销售长筒靴的公司开发一个软件,该产品将监控该公司的存货:跟踪从购买橡胶开始,到靴子生产,发货到各个连锁店,直至卖给顾客的全过程。你在为这个项目选择生命周期模型时使用什么准则? 解答:采用螺旋模型。 原因:螺旋模型可以降低产品不能满足用户需求的风险,也可以逐步取得明确的需求,逐步的完善。 4、列出在开发上一题所述软件产品的过程中可能遇到的风险。你打算怎样排除这些风险?解答:1)需求不明确,在明确需求的过程中延误交工期限。 排除:利用快速原型法,选好快速开发工具,对用户的需求变更做出快速反应,及早确定最后需求。 2)需求越提越多,无法按照计划及时定下需求。 排除:帮助用户对需求进行分析,确定下来近期完成的主要功能。其它附加功能和次要功能可在升级版本中体现。确保项目的顺利开展。 3)开发人员不熟悉业务。 排除:在和用户确定需求的过程中,及时向用户请教业务相关的知识,同时也可以请用户针对与业务流程或专业术语进行专门的培训。 5、你为靴类连锁店开发的存货监控软件(见第三题)很受用户欢迎,你所在的软件开发公司决定把它重新写成一个通用软件包,以卖给各种生产并通过自己的连锁店销售产品公司。因此,这个新产品必须是可移植的,并且应该能够很容易地适应新的运行环境(硬件或操作系统),满足不同用户的需求。你在选择生命周期模型时使用的准则与在第三题中使用的准则有哪些不同?

相关主题
文本预览
相关文档 最新文档