首页 > 代码库 > 第二次作业

第二次作业

五个问题:

1.软件工程到底是干什么的?统筹?

2.软件工程师与程序员的区别在哪里?

3.软件工程的目标是什么?

4.软件工程师相当于用户与公司之间的媒介吗?

5.软件工程的原理?

玻姆认为,在整个软件生命周期中应指定并严格执行6类计划:
项目概要计划、
里程碑计划、
项目控制计划、
产品控制计划、
验证计划、
运行维护计划。
坚持进行阶段评审
统计结果显示:大部分错误是在编码之前造成的,大约占63%错误发现的越晚,改正它要付出的代价就越大,要差2到3个数量级。 因此,软件的质量保证工作不能等到编码结束之后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。
实行严格的产品控制
开发人员最痛恨的事情之一就是改动需求。但是实践告诉我们,需求的改动往往是不可避免的。这就要求我们要采用科学的产品控制技术来顺应这种要求。也就是要采用变动控制,又叫基准配置管理。当需求变动时,其它各个阶段的文档或代码随之相应变动,以保证软件的一致性。
采纳现代程序设计技术
从六、七十年代的结构化软件开发技术,到最近的面向对象技术,从第一、第二代语言,到第四代语言,人们已经充分认识到:方法大于气力。采用先进的技术既可以提高软件开发的效率,又可以减少软件维护的成本。
结果应能清楚地审查
软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为更好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。
开发小组的人员应少而精
开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。 这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少的多;当开发小组为N人时,可能的通信信道为N(N-1)/2, 可见随着人数N的增大,通讯开销将急剧增大。
承认不断改进软件工程实践的必要性
遵从上述六条基本原理,就能够较好地实现软件的工程化生产。但是,它们只是对现有的经验的总结和归纳,并不能保证赶上技术不断前进发展的步伐。因此,玻姆提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条原理。根据这条原理,不仅要积极采纳新的软件开发技术,还要注意不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。这些数据既可以用来评估新的软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。
 

Mobile APP

优点:使用便捷,软件更新换代快,越来越注重用户体验,尽最大程度满足用户需求。

缺点:数据冗余,快速的软件更新,使数据包越来越大,增加了内存的负担,占用大量用户的存储空间,有些APP会窃取用户信息,用户自己无法辨别。

我对这类软件的选择主要看软件的下载量以及用户使用后的感受,以及通过一些社交平台的推荐。

他们是为了盈利,极小部分为了赚取用户现金,有很大部分的软件是通过软件的下载量,向广告商出售相应的广告位来牟利或融资,或出售相应的服务如会员,来牟利,也有收取下载软件下载费用的。

大多数通过更新软件来处理BUG。他们将新版本公布在手机相应的应用市场中。

同类型软件通过用户的下载量使用量、用户对软件的体验及评价,以及广告商的青睐程度来竞争。

 

Operating Systems

优点:是电子产品的基础,没有操作系统,用户将无法进行人机交互,操作系统使人机交互越来越完美。

缺点:操作系统需要大量的存储空间,越完善的操作系统所需空间就越大,安全性一直是问题

操作系统一般都会自带,当然也可以自己重新安装,但是一般如果不出现问题的话,很少有人会更换操作系统。

购买的东西里面自带

通过发布补丁来处理BUG,在官网里公布新版本

通过用户占有率,以及良好人机交互的来竞争

 

Tools

优点:能解决一些使用中问题,使用户使用更加便捷。

缺点:有些软件下载后也许用了一两次后就被关小黑屋了,有些要一直使用。

如果该软件正好能解决我的问题我就会下载下来,他们大多数不是为了盈利,是为了辅助用户的使用,以增加用户体验

我是通过下载获取该类型软件的

同类型软件是通过用户体验来竞争的

 

这些软件主要的受众人群是用户,基本上是靠用户体验来竞争的,离不开用户。

软件出现BUG能通过补丁、更新等解决,但硬件一旦出现问题可能要报废,软件更具灵活性

 

第二次作业