这个作业属于那个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
这个作业的要求 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10618 |
这个作业的目标 | 列出碰到的问题 |
作业正文 | 如下 |
其他参考文献 | 无 |
1. 学习软件工程这门课必须要学习python吗?
答:学会python是最好的,对以后的工作也有很大的帮助。
2. python有一些什么优点?
答:简单易学,开源,解释性语言,可移植性,丰富强大的库,可扩展性。
3.软件工程在软件开发中有什么作用?
答:1>定义项目成功的标准,
2>识别项目的驱动,约束和自由程度,
3>定义产品发布标准,
4>沟通承诺,
5>写一个计划,
4.如何提高代码的运行效率?
答:尽量使用局部变量,少定义静态变量或方法,尽量重用变量,减少线程,减少循环嵌套。
5.代码性能优化的步骤是什么?
答:1>代码规范
2>使用性能更好的工具类
3>代码逻辑优化
4>组件级别的优化
5>环境级别的调优
6.软件测试和软件开发的关系是什么?
答:软件开发是生产制造软件;软百件测试是验证开发出来软件的质量。类比传统加工制造企业,软件度开发人员就是生产加工的工人,软件测试人员就是质检人员。
关系应该是:
没有软件开发就没有测试,软件开发提供软件测试的对象。道
软件开发和软件测试都是软件生命周期专中的重要组成部分
软件开发和软件测试都是软件过程中的重要活动。
软件测试是保证属软件开发产物质量的重要手段。
7.黑盒测试和白盒测试的优缺点?
答: 黑盒测试的优点有 :
1> 比较简单,不需要了解程序的内部的代码及实现
2>与软件的内部实现无关
3> 从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题
4> 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能
5> 在做软件自动化测试时较为方便
缺点 :
1>不可能覆盖所有的代码, 覆盖率较低,大概只能达到总代码量的30%
2>自动化测试的复用性较低。
白盒测试的优点有 :
1> 帮助软件测试人员增大代码的覆盖率。 提供代码的质量,发现代码中隐藏的问题
缺点 :
1>程序运行会有很多不同的路径,不可能测试所有的运行路径
2>测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求
3>系统庞大时,测试开销会非常大。
8.软件过程有几种模型?
答:瀑布模型,原型模型,迭代式开发,可转换模型。
9.敏捷开发的优缺点?
答:优点:
敏捷确实是项目进入实质开发迭代阶段,用户很快可以看到一个基线架构版的产品。敏捷注重市场快速反应能力,也即具体应对能力,客户前期满意度高。
缺点:
但敏捷注重人员的沟通,忽略文档的重要性,若项目人员流动大太,又给维护带来不少难度,特别项目存在新手比较多时,老员工比较累。
需要项目中存在经验较强的人,要不大项目中容易遇到瓶颈问题。
10.软件开发团队至少需要哪几个角色?
答:产品经理,决定产品的功能和方向,一个产品的成功与否,产品经理占大部分因素。
研发,移动端(Android/iOS)研发、后台研发,视情况看是否需要H5前端研发。
测试,保证应用功能完整和稳定。
UE/设计师,应用交互细节,整体UI把控。
CTO,小型团队可能不一定要有这个职位,但是团队里面一定得需要一个技术大牛,来解决技术性问题,是技术方面的老大。