这个作业的要求是:第一次作业(个人作业):阅读教材,提五个问题-CSDN社区
问题一:在软件开发过程中是先进行大量的需求分析还是先根据已有需求构建底层代码,留出非常多的接口以便后期增加需求(第八章.需求分析)
先需求分析会一定程度上拖慢软件开发周期,但是其代码内部耦合性较好,架构更换周期短。根据已有需求先构建代码,再同时进行大量的需求分析,其代码开发周期短,但内部耦合性较低,但是其开发效率很高。
经过查阅资料后发现,现在很流行将数据挖掘的方法用在软件工程领域,一般都是先构建底层代码的同时,进行需求分析,再将需求代码耦合进代码之中。
问题二:软件测试中哪些测试起着“烽火台“的作用,即如何告诉我们软件开发流程是否顺畅(第十三章.软件测试)
冒烟测试就是完成一个新版本的开发后,对该版本最基本的功能进行测试,保证基本的功能和流程能走通。Build verificationtest在所有开发工程师都已经检入自己的代码,项目组编译生成当天的版本之后进行,主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确。软件验收测试是指测试人员检验软件是否符合软件规格说明书和用户需求的测试活动。验收测试是软件测试的最后一个环节,也是最为关键的一个要素,它关系到软件开发公司的产品质量,也关系到需求方的产品能否顺利上线,所以验收测试也被称为交付测试。
问题三:要把软件ui设计中出现对用户的帮助信息放在ui提示中还是放在帮助文档中,供用户自己查阅(第十二章.用户体验)
放在ui提示中有利于用户直观看到并且做出相应的动作,用户的学习量较小,但是ui设计较为繁琐,ui界面也不美观,对于了解软件操作的用户来说,太为繁琐。将提示放在帮助文档中加大了用户的学习代价,有时只是增加用户的学习代价,严重时则可能导致用户对这款软件的放弃,导致用户的流失,但是这样ui界面就会简洁。
现代中都会将beta测试版软件先放出来,再根据用户数据去分析,需要在哪增加提示信息,尽量减少ui界面的提示信息。
问题四:在msf中给予每个人充分的授权,但是各个组员在上司的逼迫之下难以制定自己真正的项目计划与时间表(第七章.实战中的软件工程)
我提出这样的问题完全是基于国人对于企业文化与价值观才会这样提出问题,但是对于外国企业来说,他们的企业文化注定不会出现这样的情况。所以他们的授权才会是真正的授权,而不是在国内一样只是图个面子工程。对于国内企业来说,当某个人项目出现问题时,不应是问责而是去帮助他如何去解决这个问题。
问题五:设计文档究竟应该是以模板套用还是用一些设计原则去束缚?(第十章.典型用户和场景)
书上建议是不要套用模板,用设计原则去束缚。但是对于现代软件工程来说,随着软件功能趋于复杂化,设计文档只会写的越来越复杂难以阅读。虽然功能趋于复杂化,但其内核却大都趋于同质化,所以是可以通过模板去写清所有的分析。简化模板,增加其可读性。