




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程期末考核知识点(名称解释、 分析与简答及00A分析设计题)1、 什么是好的软件?不同视角下的质量与过程质量1)不同视角下的质量。An:比如我们Android 手机软件,如以下特性必须包含。1、完整性:手机中的每一个模块得包含;2、可维护性:软件使用过程中产生bug,是可以修改的;3、可测试性:程序员开发完可以由测试人员分模块进行测试验证;4、可移植性:比如Android的平台,在官方SDK开发 泡在模拟器上的代码可以移植到Android 不同手机上;当然,站在用户的角度上的话,操作简便、响应速度快、bug少、功能强的手机软件产品的质量是最好的。2)过程质量是在开发和维护的过程中对过程进行管理的一种要求。过程的质量同样非常重要,通过改进开发过程,可以提高最终产品的质量。过程质量的控制可以参照CMM、ISO9000、SPICE等过程指导原则。我们公司采用的是ISO9001质量管理体系;2、 主要软件开发过程有那些?各自的作用与意义 1. 需求分析向用户初步了解需求,列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面,入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。2. 概要设计首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。3. 详细设计在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。4. 编码开发者根据详细设计中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求5. 测试测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。软件测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。6. 软件交付在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、用户安装手册、用户使用指南、需求报告、设计报告、测试报告等双方合同约定的产物。7. 验收用户验收。8. 维护根据用户需求的变化或环境的变化,对应用程序进行全部或部分的修改。3、 给定简单需求 采用OOA进行分析设计 (提示:用例图、类图、类之间的组合与关系、 时序图)1.图书管理系统用例图类图,类和类之间的关系图书管理系统时序图(还书)参考网址:/link?url=Bmk3H8ywoykwUfhLLeDkpufpak4CBUhx4R4sXTSrraxQli_DNO5OiAWmeNdUfqeyMYJ18DQZ6VkFuU7TIqmkKePSCpwgD6xa3ZC5XuvKdMO4、 模块化,偶合与内聚,抽象、组合与多态, MVC是如何理解的 (1组)模块化:耦合和内聚内聚(Cohesion)是一个模块内部各成分之间相关联程度的度量。耦合(Coupling)是模块之间依赖程度的度量。内聚和耦合是密切相关的,与其它模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其它模块之间存在弱耦合。模块设计追求强内聚,弱耦合。抽象,组合,多态抽象:抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。通常在编程语句中用 abstract 修饰的类是抽象 组合:多态:多态是指两个或多个属于不同类的对象,对于同一个消息(方法调用)作出不同响应的方式。实现多态的方式:一、 抽象类和抽象方法二、 虚方法:三、 方法重载四、 方法隐藏:父类和子类的方法都存在5、 单例子模式、工厂模式理解及应用场合 (2组)(1)单例模式定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点只需要使用一个单独的资源,并且需要共享这个单独资源的状态信息时,就能用到单例模式。如果程序中重复的创建了同一个类的很多对象,通过应用单例模式则可以很好的避免创建通常的对象。这可以减少系统用来创建对象的时间,也可以节省垃圾收集器用来释放这些实例的时间例如一个播放器程序的播放列表,在整个程序运行过程中,它只被创建一次,无论任何界面调用,都是操作同一个类的实例。工厂模式工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。场景情况一:如果一个对象拥有很多子类,那么创建该对象的子类使用工厂模式是最合适的,不但可以面向接口的编程,为维护以及开发带来方便。情况二:如果创建某个对象时需要进行许多额外的操作,如查询数据库然后将查询到的值赋予要创建的对象(单例初始化时使用比较多),或是需要许多额外的赋值等等。如果查看JDK源码中,会发现许多成员变量在对象构造时,通过工厂方法进行创建的。因为这些成员变量本身的创建也很复杂。不可能创建对象时,在该对象的构造方法里创建成员变量然后再赋值给该成员变量。而且使用工厂模式也提高了代码的重用性。6、 代码走查、代码审查、代码评审有什么作用 3代码走查(code walkthrough)是一个开发人员与架构师集中与讨论代码的过程。代码走查的目的交换有关代码是如何书写的思路,并建立一个对代码的标准集体阐述。代码审查是由若干程序员和测试员组成一个审查小组,通过阅读、讨论和争议,对程序进行静态分析的过程。代码审查分两步。第一步,小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为审查的依据。小组成员在充分阅读这些材料后,进入审查的第二步,召开程序审查会。代码评审也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。评审的作用在项目的早期发现缺陷,将损失降至最低评审的过程也是重新梳理思路的过程,双方都加深了对系统的理解促进团队沟通、促进知识共享、共同提高7、 异常(exception), Failure、Error区别 4error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。failure是故障,包含软件和硬件,一般指软件和硬件原先是没有问题的,只不过在此次运行过程中发生了故障,属突发性的. 8、 软件开发模型:瀑布模型、快速原型、增量模型、螺旋模型优点与缺点 5瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。瀑布模型的缺点:(1)开发过程一般不能逆转,否则代价太大;(2)实际的项目开发很难严格按该模型进行;(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。瀑布模型的使用范围:(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;(2)开发人员对软件的应用领域很熟悉;(3)用户的使用环境非常稳定;(4)开发工作对用户参与的要求很低。快速原型模型的优点:(1)可以得到比较良好的需求定义,容易适应需求的变化;(2)有利于开发与培训的同步;(3)开发费用低、开发周期短且对用户更友好。快速原型模型的缺点:(1)客户与开发者对原型理解不同;(2)准确的原型设计比较困难;(3)不利于开发人员的创新。快速原型模型的使用范围:(1)对所开发的领域比较熟悉而且有快速的原型开发工具;(2)项目招投标时,可以以原型模型作为软件的开发模型;(3)进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。增量模型的优点:(1)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;(2)如果核心产品很受欢迎,则可增加人力实现下一个增量;(3)可先发布部分功能给客户,对客户起到镇静剂的作用。增量模型的缺点:(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;(2)增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。增量模型的使用范围:(1)进行已有产品升级或新版本开发,增量模型是非常适合的;(2)对完成期限严格要求的产品,可以使用增量模型;(3)对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。螺旋模型的优点:(1)设计上的灵活性,可以在项目的各个阶段进行变更;(2)以小的分段来构建大型系统,使成本计算变得简单容易;(3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;(4)随着项目推进,客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互。螺旋模型的缺点:(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;(2)过多的迭代次数会增加开发成本,延迟提交时间。螺旋模型的使用范围:螺旋模型只适合于大规模的软件项目。9、 为什么需要使用版本控制系统?工作原理?在实际工作中你通常如何使用? 6版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。原理版本控制透过文档控制(documentation control)记录程序各个模组的改动,并为每次改动编上序号。这种方法是工程图维护(maintenance of engineering drawings)的标准做法, 它伴随着工程图从图的诞生一直到图的定型。实际工作过程 从svn服务器签出代码,锁定代码,修改代码,签入代码,解锁代码。10、 在需求分析阶段谈谈你对功能需求与非功能需求的理解?功能性需求:是说有具体的完成内容的需求。例如:比如客户登录、邮箱网站的收发收发邮件、论坛网站的发帖留言等。非功能性需求:是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。例如:性能要求:要求系统能满足100个人同时使用,页面反应时间不能超过6秒;可靠性: 系统能724小时连续运行,年非计划宕机时间不能高于8小时。要求能快速的部署,特别是在系统出现故障时,能够快速的切换到备用机。非功能需求是产品必须具备的品质或者它将事情做到了多好,它们可以让产品有吸引力、易于使用、快速、可靠或者安全。比如可以利用非功能性需求来指定响应时间,或计算时达到的精确度、产品必须具有的某种特定外观、能被无法阅读的人士使用、遵守使用这类业务的法律。这些属性的存在并不是因为它们是产品的基本活动,而是因为客户希望这些功能性活动以某种方式执行,并达到特定的品质。非功能需求通常并不改变产品的功能。一般来说,不管增加多少的质量属性,功能性需求都会保持不变。也有更复杂的情况存在,有时候非功能需求的实现会为产品增加功能(举例:功能的存在是为了让产品具有期望的特征)。功能性需求是让产品工作的需求,非功能需求是为工作赋予特征的需求。所以说,功能性需求和非功能性需求是相辅相成密不可分的。 工程经济学(开放性的论述题)1、 跟踪项目的方法、工具(Project 计划文件 )?1)列出项目可交付产品或成果;2)确定里程碑和活动,以产生可交付成果;3)工作分解结构和绘制活动图;2、 想想影响开发效率的因素,如何提高开发效率?1良好的项目计划 人力是决定性因素 采用熟悉的技术 过程监控等因素都直接影响到软件开发的效率2为了保证开发效率可以使用已经有的产品进行复用,提高技术人员的水平和管理人员的水平,根据项目的管理计划进行跟踪和监控,避免无效的会议和评估,舒适的开发环境,确保减少开发人员的压力,适当进行员工激励提高团队的士气。3、 谈谈软件生命周期中各项活动是如何确保整个项目的经济性(经济性:缩短生产开发周期,降低项目成本)?项目项目的经济性主要与完成活动所需资源成本有关,项目成本管理也考虑决策对项目产品的使用成本的影响。做好软件的经济性,需要在软件的整个周期内考虑:开发周期 技术先进性 ,兼容性指标 ,开发成本指标, 维护成本指标。增加软件的复用能力,提高软件的再使用来减少成本,在技术上使用已经成熟的技术来减少由学习时间所带来的成本。4、 假如你是项目经理, 需要规划团队整个开发项目计划 你是如何考虑的?1.制定不同维度的管理计划:进行项目的需求的评估,资源评估和风险评估。根据项目的资源和需求进行项目的需求变更计划,项目进度计划,成本管理计划。在项目计划中制订人力计划、进度计划、风险计划、成本估计、需求变更计划,一目了然,责任到人,其效果和效益是很明显的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 那天的演讲比赛话题作文(15篇)
- 我的外婆作文600字8篇
- 语文词语多义现象及其语境判断教学教案
- 上海金山中学高一(下)期末信息技术试题及答案
- 一件有趣的事件记叙文(11篇)
- 屈原的精神与影响:高一语文课扩展阅读教案
- 3.2工艺场景搭建
- 勇敢的消防员英勇的事迹演讲稿6篇范文
- 公交优先活动方案
- 公交助残活动方案
- 项目里程碑计划模板
- GJB438B《软件测试报告》模板范例-gjb438资源
- 《治疗痤疮药》课件
- 住院精神疾病患者自杀风险护理(2023版团标)
- 顽固性感染性休克的ECMO治疗课件
- 民兵训练基地管理制度
- 中等职业学校教职员工绩效考核实施方案
- 供应商QSA-QPA评审表(电池)
- 簪花仕女图赏析课件
- 高考前最后一课-数学
- 班组精细化管理学习体会
评论
0/150
提交评论