软件工程概论简答题

合集下载

软件工程—简答题

软件工程—简答题

软件工程—简答题1. 什么是软件工程?软件工程是一门将工程学原理与方法应用于软件开发的学科。

它涉及对软件的设计、开发、测试、维护和管理等方面的技术和方法。

软件工程的目标是创建高质量和可靠的软件系统,以满足用户的需求。

通过使用软件工程的原则和技术,开发团队能够有效地管理和控制软件开发过程,并提供可维护和可扩展的软件解决方案。

2. 软件工程的基本原则有哪些?软件工程的基本原则包括:2.1 分阶段开发软件开发过程通常分为需求分析、设计、编码、测试和维护等阶段。

每个阶段都应该有明确的目标和任务,确保软件系统的稳定性和质量。

2.2 面向对象设计面向对象设计是一种将问题领域的概念与程序设计语言中的对象模型相匹配的方法。

通过将问题划分为一组相互关联的对象,可以更好地组织和管理软件系统的结构和功能。

2.3 模块化和组件化模块化和组件化是将软件系统划分为相互独立且可重用的模块或组件的过程。

这样可以提高软件系统的可维护性和可扩展性,并降低代码的重复性。

2.4 品质保证软件工程要求对软件系统进行全面的测试和验证,以确保其满足用户的需求和质量标准。

包括单元测试、集成测试、系统测试等各个层次的测试。

2.5 项目管理项目管理是软件工程中非常重要的一环,它涉及资源的分配、进度的控制、团队协作等方面。

通过合理的项目管理,能够提高软件开发的效率和质量。

3. 软件工程的开发模型有哪些?软件工程的开发模型有许多种,常见的包括:3.1 瀑布模型瀑布模型是最早提出的软件开发模型,它将软件开发过程划分为需求分析、系统设计、编码、测试和维护等连续的阶段。

每个阶段的输出作为下一个阶段的输入,依次进行。

3.2 增量模型增量模型将软件开发过程划分为多个独立的增量,每个增量都包含完整的开发过程。

每个增量都可以交付给客户使用或测试,这样可以更快地获取用户反馈并逐步完善系统。

3.3 原型模型原型模型通过快速开发一个原型来获取用户需求,并以此为基础进行详细设计和开发。

(完整word版)软件工程简答题必考

(完整word版)软件工程简答题必考

1、什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科.软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高.软件工程内容:包括开发技术和开发管理两个方面。

2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。

其中喷泉模型、统一软件过程适用于面向对象的软件开发.3、什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法.采用自顶向下逐层分解的分析策略.顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。

中间层则是从抽象到具体的过渡。

使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑.4、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。

称为概要设计或结构设计。

基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审5、软件维护有哪些内容?(1)校正性维护。

在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。

为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护.(2)适应性维护。

为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。

(3)完善性维护。

为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。

(4)预防性维护。

为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。

6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试.单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

软件工程常考简答题

软件工程常考简答题

绪论1、什么是软件工程?软件工程和计算机科学有何区别?答:软件工程是以计算机科学理论及其他有关学科旳理论为指导,采用工程化旳概念、原理、技术和措施进行软件旳开发和维护,把通过时间证明是对旳旳管理措施和目前可以得到旳最佳旳技术、措施相结合,以期用较少旳代价获取高质量旳软件。

计算机科学侧重于理论研究,其成果可应用于软件工程,而软件工程则强调怎样有效旳建造一种软件系统。

2、什么是软件?答:计算机软件是与计算机系统操作有关旳程序、规程、规则及任何与之有关旳文档及数据;3、什么是软件危机?分析其产生旳原因与挣脱危机旳措施,你认为目前已经挣脱软件危机了吗?请阐明理由。

软件危机是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。

重要是两个问题:(1)怎样开发软件,怎样满足对软件旳日益增长旳需求;(2怎样维护数量不停膨胀旳已经有软件;软件危机旳出现,究其原因,首先是由软件自身旳特点引起旳,如软件越来越复杂,软件故障难于检测,工作量难以估计;另首先则是由于软件开发和维护措施不妥所导致旳,如软件旳个体化特性太强等。

为了挣脱软件危机所导致旳困境,提出软件工程旳概念,其重要思绪是:要把人类长期以来从事多种工程项目所积累起来旳行之有效旳原理,概念,技术和措施,尤其是人类从事计算机硬件研究和开发旳经验教训,应用到软件旳开发和维护中来。

我认为我国目前尚未完全挣脱软件危机,由于伴随经济发展,各行各业对软件人才旳需求不停扩大,由于我国旳软件人才缺口仍旧很大,导致了某些行业内软件开发进度难以预测,软件开发成本难以控制,顾客对产品功能难以满足,软件产品质量无法保证,软件产品难以维护,软件缺乏合适旳文档资料。

4、软件产品旳特性是什么?软件是一种逻辑产品,具有无形性;软件产品旳生产重要是研制;软件不存在磨损和老化问题,但存在退化问题;软件产品旳生产重要是脑力劳动;软件产品生产成本昂贵,目前生产方式尚未挣脱手工生产方式;软件具有“复杂性”,其开发和运行常受到计算机系统旳限制。

软件工程概论简答题

软件工程概论简答题

软件工程概论简答题1. 什么是软件工程?它的主要目标是什么?软件工程是一门以工程化的方式开发、部署和维护软件系统的学科。

它涉及应用系统性方法、工具和技术,以提高软件产品和过程的质量、可靠性和效率。

软件工程的主要目标包括:- 提高软件产品的质量- 提高软件开发过程的效率- 降低软件开发与维护的成本- 保证软件系统的可靠性和安全性- 提供可维护性和可扩展性的软件系统2. 什么是软件工程的生命周期?它包括哪些阶段?软件工程的生命周期是指软件项目从定义需求到投放使用的整个过程。

它涵盖了以下主要阶段:1) 需求分析阶段:确定软件系统的需求和功能,并与用户进行沟通与协商。

2) 设计阶段:基于需求分析的结果,定义软件系统的架构、模块划分以及数据结构和算法等细节。

3) 编码阶段:根据设计结果,进行编码和测试,实现软件系统的各个模块和功能。

4) 集成和测试阶段:将开发的各个模块进行集成,进行整体功能和性能测试。

5) 部署阶段:将软件系统部署到实际的运行环境中,进行用户培训和技术支持。

6) 维护阶段:对软件系统进行维护和升级,修复bug、增加新功能,并解决用户反馈的问题。

3. 简述软件需求工程的主要任务和挑战。

软件需求工程是软件工程中非常重要的一个环节,主要任务包括:1) 需求获取:通过访谈、调研、文档分析等方法,与用户和利益相关者沟通与交流,准确获取软件系统的需求。

2) 需求分析:对获取的需求进行分析、整理和归纳,抽象出软件系统的功能和约束条件,形成一份需求规范文档。

3) 需求确认:与用户确认需求规范文档,确保所提供的需求与用户的期望一致。

4) 需求管理:对需求进行变更管理、跟踪和控制,确保软件系统在开发过程中的需求改变得到合理处理。

软件需求工程面临一些挑战,例如:- 需求不完整、不清晰或不准确,需要通过与用户的深入交流来解决。

- 用户需求的不稳定性和不一致性,使得需求工程师需要与用户持续沟通,及时调整需求规范。

软件工程—简答题

软件工程—简答题

软件工程—简答题四、简答题1. 简述软件危机产生的原因。

答案:软件危机产生的原因有:(每点1分)(1)软件的规模越来越大,结构越来越复杂。

(2)软件开发的管理困难。

由于软件规模大,结构复杂,又具有无形性,导致管理困难,进度操纵困难,质量操纵困难,可靠性无法保证。

(3)软件开发费用不断增加。

软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升很快。

(4)软件开发技术、开发工具落后,生产率提高缓慢。

(5)生产方式落后。

软件仍然使用个体手工方式开发。

2. 简述需求分析的概念及需求分析的基本任务。

答案:需求分析是指开发人员要准确懂得用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

(3分)需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统务必“做什么”的问题。

(2分)3. 简述数据流图的分类及每一类的特点。

答案:数据流图有两类:变换型数据流图与事务型数据流图。

(1分)变换型数据流图是由输入、处理与输出三部分构成,(1分)因此变化型数据流图是一个顺序结构。

(1分)事务型数据流图特征:事务处理中心将它的输入流分离成许多发散的数据流,形成许多加工路径,(1分)并根据输入的值选择其中一个路径来执行。

(1分)4. 简述建立对象模型的过程。

答案:建立对象模型的步骤如下:(每点1分)(1)确定类:标出来自问题域的有关对象类。

(2)准备数据字典:为所有建模实体准备一个数据字典,准确描述各对象类的精确含义,描述当前问题中的类的范围,包含对类的成员、用法方面的假设或者限制;(3)确定关联:确定二个或者多个类之间的相互依靠;(4)确定属性:只考虑与具体应用直接有关的属性(5)使用继承来细化类:使用继承来共享公共结构,以此来重新组织类__全国2010年1月1.简述软件工程面临的问题。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。

它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。

2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。

通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。

4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。

它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。

5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。

6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。

7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。

它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。

8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。

单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。

9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。

维护包括错误修复、性能优化、功能扩展等。

软件工程简答题答案

软件工程简答题答案

软件工程简答题答案简答题1.什么是软件工程?请分析软件工程的目标是什么?答案:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;②对①中所选方法的研究”。

软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。

b)增强软件过程的可见性和可控性,保证软件的质量。

c)提高所开发软件的可维护性,降低维护费用。

d)提高软件开发生产率,及时交付使用。

e)合理预算开发成本,付出较低的开发费用。

2.什么是软件危机?软件危机表现在哪几个方面?由于软件特点和长期以来一直没有发明一种高效的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。

这种现象早在20世纪60年代被定义为“软件危机”。

它的具体表现如下:a)“已完成”的软件不满足用户的需求。

b)开发进度不能保障,交付时间一再拖延。

c)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。

d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。

e)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。

3.根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?答案:对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。

4.根据你的理解,列举出职业化软件工程师要注意的三个主要问题,请给出理由。

答案:没有唯一答案。

a)不遵守标准和规范:职业化的重要特征是遵守行业标准,不能肆意按照自己的想象来发挥。

软件工程简答题

软件工程简答题

软件⼯程简答题三.名词解释1.软件⼯程是将系统的、规范的、可度量的⽅法(1分)应⽤于软件的开发、运⾏和维护的全过程及上述⽅法的研究。

(3分)4.软件维护是软件⽣存周期的最后⼀个阶段,所有活动都发⽣在软件交付并投⼊运⾏之后。

分)1计算机软件是与计算机系统操作有关的程序(1分)、规程、规则(1分)及任何与之有关的⽂档(1分)和数据(1分)。

2数据流图是以图形的⽅式描述数据在系统中流动和处理的过程。

只反映系统必须完成的逻辑功能,是⼀种功能模型。

3软件可维护性是指软件被理解、改正、调整和改进的难易程度(3分),是指导软件⼯程各个阶段⼯作的⼀条基本原则,也是软件⼯程追求的⽬标之⼀。

(1分)4软件测试:是对软件规格说明、软件设计和编码的最后复审(1分),⽬的是在软件产品交付之前尽可能发现软件中潜伏的错误。

(3分)1软件⽣命周期:软件产品从形成概念开始,经过开发(1分)、运⾏(使⽤)(1分)和维护(1分)直到退役(1分)的全过程称为软件⽣存周期,包括软件定义、开发、使⽤和维护三部分。

3. 协作图⽤于描述相互合作的对象间的交互关系(2分)和链接关系(2分)。

4. 软件重⽤是指在两次或多次不同的软件开发过程中(2分)重复使⽤相同或相似软件元素的过程。

(2分)2. 变换流:由输⼊﹑输出﹑变换(或称处理)三部分组成,是⼀顺序结构。

3.模块的耦合和内聚内聚:⼜称为块内联系,指模块内部各成分之间相互关联的程度,以⾼内聚为设计⽬标。

耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独⽴性越差,以低耦合为设计⽬标。

4.等价类划分:等价类的划分,是将输⼊数据按有效的或⽆效的划分成若⼲个等价类,测试每个等价类的代表值。

⽤少量有代表性的例⼦代替⼤量测试⽬的相同的例⼦,能有效地提⾼测试效率。

5. 预防性维护:为了提⾼软件的可维护性和可靠性⽽对软件进⾏的修改称为预防性维护。

2.事务流:它的某个加⼯,分离成许多发散的数据流,形成许多加⼯路径,并且根据输⼊值选择其中⼀个路径来执⾏。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、概述1.软件工程过程有哪几个基本过程活动?试说明之。

解答:软件工程过程的基本过程活动有4步:·P (Plan) : 软件规格说明。

规定软件的功能及其运行的限制;·D (Do) : 软件开发。

产生满足规格说明的软件;·C (Check) : 软件确认。

确认软件能够完成客户提出的要求;·A (Action) : 软件演进。

为满足客户的变更要求,软件必须在使用的过程中演进。

2.试说明“软件生存期”的概念。

解答:软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。

这就是软件的生存期。

它分为6个阶段:(1) 软件项目计划:在这一步要确定软件工作范围,进行软件风险分析,预计软件开发所需要的资源,建立成本与进度的估算。

根据有关成本与进度的限制分析项目的可行性。

(2) 软件需求分析和定义:在这一步详细定义分配给软件的系统元素。

可以用以下两种方式中的一种对需求进行分析和定义。

一种是正式的信息域分析,可用于建立信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。

另一种是软件原型化方法,即建立软件原型,并由用户进行评价,从而确定软件需求。

(3) 软件设计:软件的设计过程分两步走。

第一步进行概要设计,以结构设计和数据设计开始,建立程序的模块结构,定义接口并建立数据结构。

第二步做详细设计,考虑设计每一个模块部件的过程描述。

经过评审后,把每一个加细的过程性描述加到设计规格说明中去。

(4) 程序编码:在设计完成之后,用一种适当的程序设计语言或CASE工具生成源程序。

应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。

(5) 软件测试:单元测试检查每一单独的模块部件的功能和性能。

组装测试提供了构造软件模块结构的手段,同时测试其功能和接口。

确认测试检查所有的需求是否都得到满足。

在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。

(6) 软件维护:为改正错误,适应环境变化及功能增强而进行的一系列修改活动。

与软件维护相关联的那些任务依赖于所要实施的维护的类型。

3.试论述瀑布模型软件开发方法的基本过程,比较它的优点和缺点。

解答:瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义,软件设计,程序编码,测试及运行维护。

并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。

瀑布模型为软件开发和软件维护提供了一种有效的管理图式。

根据这一图式制定开发计划、进行成本预算、组织开发力量,以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,从而保证了软件产品及时交付,并达到预期的质量要求。

瀑布模型的缺点是缺乏灵活性,特别无法解决软件需求本身不明确或不准确的问题。

这些问题的存在对软件开发会带来严重影响,最终可能导致开发出的软件并不是用户真正需要的软件,并且这一点在开发过程完成后才有所察觉。

面对这些情况,无疑需要进行返工或是不得不在维护中纠正需求的偏差。

但无论上述哪一种情况都必须付出高额的代价,并将为软件开发带来不必要的损失。

4.试说明演化模型软件开发方法的基本过程,比较它的优点和缺点。

解答:由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。

因此,可以先做试验开发,其目标只是在于探索可行性,弄清软件需求;然后在此基础上获得较为满意的软件产品。

通常把第一次得到的试验性产品称为“原型”。

演化模型从需求分析开始。

软件开发人员与用户一起定义待开发软件系统的总目标,定义需求,确定软件的工作范围。

然后快速设计软件中对使用者可见部分的表示,进而建造原型,再让用户或客户评估原型,根据评估结果,修改和细化待开发软件系统的需求,使之满足用户的需求。

这个过程是一个迭代的过程。

演化模型的优点是:·演化模型能够得到更好的软件需求,它不仅能够处理模糊的需求,而且开发人员与用户可通过原型充分进行交流;·演化模型给用户提供了机会,以更改用户原来设想的不尽合理的最终系统;·演化模型使得开发出来的最终系统更容易维护,对用户更友好;·演化模型可以降低总的开发费用,缩短开发时间。

演化模型的缺点是:·对于开发人员不熟悉的领域,演化模型可能误导开发者把系统的次要部分当作主要框架,作出不切题的原型;·原型过快地收敛于需求集合,使得某些基本方面被忽视;·长期在原型环境下开发,只注意得到令人满意的原型,容易“遗忘”用户环境与实际客户环境之间的差别。

5、软件工程包括哪些基本要素?请简要说明这些要素及其作用。

答案要点:软件工程包括过程、方法和工具三个要素。

软件工程过程定义了技术方法的采用、工程产品(包括模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证和变更的管理,从而将人员、技术、组织与管理有机地结合在一起,实现在规定的时间和预算内开发高质量软件的目标;.软件工程方法为软件开发提供了“如何做”的技术,通常包括某种语言或图形的模型表示方法、良好的设计实践以及质量保证标准等;. 软件工程工具为软件工程方法提供了自动的或半自动的软件支撑环境,辅助软件开发任务的完成。

现有的软件工具覆盖了从需求分析、系统建模、代码生成、程序调试和软件测试等多个方面,形成了集成化的软件工程开发环境CASE。

6. 软件与其他工程学科所产生的制品有什么根本区别?答案要点:(1)软件是人类思维和智能所延伸的产物,其数据、状态和逻辑关系的组合以及人类思维的复杂性和不确定性导致它本身具有极高的复杂性;(2)软件具有不可见性,它是抽象的,形式化和逻辑化的。

(3)软件具有可变性,有用的软件需要不断地修改和扩展,但是频繁的修改可能导致软件的退化;(4)软件的开发在很大程度上依然是手工作坊式的,难以实现工厂化的生产。

7. 软件工程是以系统的、可控的、有效的方式产生高质量的软件,请说明你对“高质量软件”含义的理解。

软件质量是软件产品与明确的和隐含的需求相一致的程度,它通常由一系列的质量特性来进行描述,包括正确性、可靠性、有效性、可用性、复用性、可维护性、可移植性等。

例如,除了要求软件正确运行之外,人们可能还希望软件运行的响应时间符合要求、软件使用方便快捷、程序代码易于理解等,而“程序代码易于理解”往往是一种用户没有明确提出的需求,但却是影响软件演化的重要因素。

8. 某大学准备开发一个新的学生注册选课系统,以替换一个现有的系统。

请设计一个适用于该系统开发的过程模型,并进一步描述该模型。

答案要点:假设原有的学生注册课程系统是由学生手工提交书面选课单,教师手工提交成绩单,教务管理人员在客户端录入学生选课结果和课程成绩;而在新的选课系统中,所有用户在自己的计算机上通过Internet 访问和操作该系统,该软件系统需要更新服务器和数据库等系统,并扩充一些新功能和提高系统性能。

从该系统的具体情况来看,系统的需求是比较容易明确的,整个系统的结构需要重新设计,但是原有的遗留系统中有些部分是可以重用的,因此我们可以采用组件模型实施软件开发:系统需求分析:由于该系统是现有系统的扩展,因此首先可以经过一个简单的需求分析阶段,从而确定新系统的需求。

遗留系统分析:在需求确定的基础上,开发人员分析遗留系统并研究新系统的总体结构,选择重用原有的课程信息管理部分,重新开发选课部分,必要时适当修改系统需求,最终确定系统需求和总体结构。

设计开发阶段:开发人员进一步设计相关子系统,将原有的课程信息管理部分封装为子系统,重新开发学生选课子系统,并实现与外部付费系统的接口。

系统测试阶段:开发人员将所有子系统集成在一起,交给测试人员开始全面的功能测试和性能测试。

根据所报告的测试问题,开发人员调试和修改程序。

系统交付阶段:测试通过后,开发人员将系统及其相关文档交付用户验收。

四、需求分析四、问答题1、在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。

试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?解答:所谓当前系统可能是需要改进的某个已在计算机上运行的数据处理系统,也可能是一个人工的数据处理过程。

当前系统的物理模型客观地反映当前系统实际的工作情况。

但在物理模型中有许多物理的因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。

所以当前系统的逻辑模型是从当前系统的物理模型抽象出来的。

2、可行性研究主要研究哪些问题?试说明之。

解答:可行性研究主要做4个方面的研究:经济可行性:进行成本∕效益分析。

从经济角度判断系统开发是否“合算”。

技术可行性:进行技术风险评价。

从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。

法律可行性:确定系统开发可能导致的任何侵权、妨碍和责任。

方案的选择:评价系统或产品开发的几个可能的候选方案。

最后给出结论意见。

3、数据流图的作用是什么?它有哪些基本成份数据流图的基本成份有4种:4、Petri网可以描述计算机软件系统的执行。

现有一个程序如下(类似于Pascal语言)L : S1;WHILE P1 DOBEGINIF P2 THEN S2ELSE S3;COBEGINS4;S5;S6;COENDEND;GOTO L;其中,P1和P2为逻辑表达式,S1,S6是单个执行语句,COBEGIN 和COEND是并行执行开始和并行执行结束(即S4,S5和S6语句并行执行)。

试用Petri网描述这段程序的执行过程解答:采用条件∕事件网(C∕E网,C―Condition, E―Event)式Petri网。

其定义如下:①当事件e激发时条件c开始成立,则称c是e的后继。

此关系用“”表示;②当事件e激发时条件c消失成立,则称c是e的前驱。

此关系用“”表示;③当事件e激发时条件c不受影响,则c和e之间没有前驱、后继关系,无边。

根据定义,给定程序的C∕E网如下:5、软件需求分析说明书主要包括哪些内容?解答:软件需求规格说明是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。

软件需求规格说明的框架如下:6. 需求工程包括哪些基本活动?每一项活动的主要任务是什么?答案要点:需求工程分为需求开发和需求管理两个部分,而需求开发又可进一步分为需求获取、需求分析、规格说明和需求验证四个阶段。

这些基本活动的主要任务包括:(1)需求获取:采集、识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。

相关文档
最新文档