https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/ | |
https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10618 | |
百度 |
第一次课
1.优秀的软件工程师应该具备什么素质跟能力?
自觉的规范意识和团队精神,较强的英语阅读和写作能力,求知欲和进取心,认识和运用数据库的能力,具有软件工程的概念
2.软件开发面临哪些主要问题?
遗留系统的挑战、异构性的挑战、交付上的挑战。
3.软件工程重点需要学习哪些知识?
可视化编程 掌握程序设计方法及可视化技术,WEB应用程序设计 具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护,软件测试掌握软件测试的基本原理、方法和组织管理,精通软件测试工具数据库管理 能应用关系范式进行数据库设计,精通SQL语言,胜任数据库服务器管理与应用工作。 图形图像制作 精通国际上流行的图形/图像制作工具, 网络构建技术 熟悉网络结构和组网方式,掌握建网方法,能利用工具分析和排除常见网络故障, 网络系统管理 掌握网络系统管理的基本知识与应用技能,能进行网络系统的安全设置,多媒体制作 具有多媒体程序设计与多媒体制作策划的能力。
第二次课
1.python中如何设置将它改成中文版,要下载什么插件?
通过上网查找已得知详细步骤,需要下载插件。
2.python的模块与JAVA,C语言相比,它的优缺点对比是什么?
Python是一种脚本语言,可以与C紧密整合。它可以与动态加 载的C库模块交换数据,也可以作为内嵌脚本语言而从C中调用。其 语法类似C和模块化语言的杂合,不过有一个独一无二的特征,就是 以缩进来确定语句块。 Python语言非常干净,设计优雅,具有出色的模块化特性。它 提供了面向对象能力,但不强迫用户进行面向对象设计。其类型系统 提供了强大的表达能力,类似Per1,具有匿名1 ambda表达式,这点 又让Lisp黑客们感到亲切。 Python依靠Tk提供方使的GUI界面开 发能力 在所有的解释型语言里, Python和Java最适合多名程序员以渐 进方式协同开发大型项目。在很多方面, Python比Java要简单
3.在检查代码缺陷时,pylint得具体操作如何进行?
使用 Pylint 对一个模块 module.py 进行代码检查:
1. 进入这个模块所在的文件夹,运行
pylint [options] module.py
这种调用方式是一直可以工作的,因为当前的工作目录会被自动加入 Python 的路径中。
2. 不进入模块所在的文件夹,运行
pylint [options] directory/module.py
这种调用方式当如下条件满足的时候是可以工作的:directory 是个 Python 包 ( 比如包含一个 __init__.py 文件 ),或者 directory 被加入了 Python 的搜索路径中。
第三次课
1.静态代码分析工具主要做什么
静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等。
在软件开发过程中,静态代码分析往往先于动态测试之前进行,同时也可以作为制定动态测试用例的参考。统计证明,在整个软件开发生命周期中,30% 至 70% 的代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复的。
但是,由于静态代码分析往往要求大量的时间消耗和相关知识的积累,因此对于软件开发团队来说,使用静态代码分析工具自动化执行代码检查和分析,能够极大地提高软件可靠性并节省软件开发和测试成本
2.个人算法水平不高,如何才能正确地进行性能优化?
3.代码审查具体是什么?
第四次课
1.动态测试和静态分析有什么区别和联系?
静态测试是指测试不运行的部分:只是检查和审阅,如规范测试、软件模型测试、文档测试等。动态测试是通常意义上的测试,也就是运行和使用软件。静态测试,通过评审文档、阅读代码等方式测试软件称为静态测试,通过运行程序测试软件称为动态测试
2.黑盒测试和白盒测试的运用区别?
白盒测试:
是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部的东西以及里面是如何运作的,因此白盒测试需要你对系统内部的结构和工作原理有一个清楚的了解,并且基于这个知识来设计你的用例。
白盒测试技术一般可被分为静态分析和动态分析两类技术。
静态分析主要有:控制流分析技术、数据流分析技术、信息流分析技术。
动态分析主要有:逻辑覆盖率测试(分支测试、路径测试等),程序插装等。
黑盒测试:
这是因为在黑盒测试中主要关注被测软件的功能实现,而不是内部逻辑。在黑盒测试中,被测对象的内部结构,运作情况对测试人员是不可见的,测试人员对被测产品的验证主要是根据其规格,验证其与规格的一致性。
在绝大多数没有用户参与的黑盒测试中,最常见的测试有:功能性测试、容量测试、安全性测试、负载测试、恢复性测试、标杆测试、稳定性测试、可靠性测试等。
第五次课
1.怎么理解软件项目管理中的领导?
2.当新系统有差错时,系统能否自动降级版本?
3.项目管理的目地是什么?
第六次课
1.小黄鸭测试法真的有助于思维扩展吗,对于不同的人应该有不同效果
2.敏捷开发需要注意什么?
3.项目开发过程中,用户提出新的要求很难满足怎么办?
第七次课
1.软件开发活动中,系统分析师,系统架构师,程序员,测试人员以及培训人员分别从事的工作范围?
2.一个团队人员较多对团队进行软件开发有什么影响?
3.民主式结构,主程序员式结构以及矩阵式结构的优缺点以及它们的比较?
第八次课
1.Scrum主管和团队成员的职责分别有哪些?
2.独占工作模式与并行工作模式的比较?
3.git分支的操作?git版本库的操作?
第九次课
1.如何明确的区分功能需求与非功能需求
2.软件工程师改如何才能最好的解决茅盾问题不一致的需求,完美的满足所有需求?
3.如今的软件需求工程师竞争尤为激烈,该如何提高自己得创新思想与意识,同时不会走向误区