2020软件工程作业00——问题清单
问题清单
详情如下表
这个作业属于哪个课程 | 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.软件工程的Wasserman 规范是什么?
答:抽象、软件建模方法、用户界面原型化、软件体系结构、软件过程、软件复用、度量、工具与集成环境
第二次课
1.软件工程的编程工作具体有哪些步骤
答:系统模型——编写代码——代码审查——代码优化——单元测试——系统构建——集成调试——源代码
2.软件编程规范的目的是什么
答:提高代码质量,避免程序错误、增强程序代码可读性、可重用性、可移植性。
第三次课
1.代码审查的作用有哪些?需要检查的基本项有什么?
答:作用:一、检查代码合理性 二、互为Backup 三、分享知识、设计、技术 四、增加代码可读性 五、处理代码的“可读区”
基本检查项:编码规范、面向对象设计、性能方面、资源释放处理、程序流程、线程安全、数据库处理、通讯方面、异常处理、安全方面。
2.代码性能优化应注意什么?关键是什么?
答:注意:不要在没执行前后性能评估的情况下进行优化。
关键:发现问题、寻找解决问题的方法。避免不必要的优化、不成熟的优化。
3.绝对编程的作用有哪些?
答:提高代码质量、提高开发效率、提高协作能力。
第四次课
1.单元测试有哪些内容?原则是什么?
答:内容:模块接口、局部数据结构、边界条件、独立路径、出错处理。
原则:快速的、独立的、可重复的、自我验证的、及时的。
2.简述单元测试的流程?
答:确定单元测试——编写或修改单元测试——执行单元测试——满足质量——根据结果修改或增加单元测试。
3.黑盒测试的重要性有哪些?
答:降低软件测试成本、保证测试工作质量、评估和检测测试结果。
4.简述白盒测试的步骤?
答:画流程图——控制流图——选择路径——所选路径——生成测试输入数据——选的路径可行——测试输入数据。
第五次课
1.软件开发活动有哪些活动?
答:问题定义——需求开发——软件设计——软件构造——软件测试。
2.软件过程模型有哪些?
答:瀑布模型、原型化模型、迭代式开发、可转换模型。
3.开发一个管理系统,使用哪种模型比较合适?
答:迭代式模型。
第六次课
1.敏捷开发基于什么?需要关注哪些方面?
答:基于紧密的团队协作、应对快速变化需求、快速交付高质量软件的迭代和增量的新型软件开发方法。
应关注协作、质量、可工作产品、全才化的专才,基于实践而非基于理论。
2.scrum迭代开发有哪些关键要求?
答:每一次迭代都建立在一定的质量基础上,并作为下一软件迭代的基线。
每次迭代要邀请用户代表验收,提供需求是否满足的反馈。
不允许变更交付和交付日期。
不允许添加新工作或者对现有工作进行变更。
第七次课
1.民主式结构与主程序结构适合于哪些项目开发
答:民主式:团队成员完全平等。主程序员式结构:以主程序员为核心。
2.Brooks法则的定义
答:向一个进度延迟的软件工程项目中增加人员可能会使其进度更加推迟。
3.项目估算的方法有哪些?
答:专家判断、参数估算、功能点方法、cocomo模型、用例点估算。
第八次课
1.scrum框架的定义是什么?
答:-个Sprint是一个1-4周的迭代 ,它是一个时间盒。Sprint的长度一旦确定,将保持不变。Sprint的产出是"完成”的、可用的、潜在可发布的产品增量。
2.用户故事的特点有什么?
答:独立性、可协商、有价值、可估算、短小的、可测试
3.软件配置管理的定义是什么?目的是什么?
答:软件配置管理是一种标识、组织和控制修改的技术,它作用于整个软件生命周期,其目的是使错误达到最小并最有效地提高生产率。
第九次课
1.需求工程师需要具备哪些能力?
答:分析问题和解决能力、人际沟通及交流能力、软件工程知识和技能、应用领域有关知识。
2.需求工程活动有哪些?
答:需求抽取、需求分析、需求规约、需求管理、需求验证。
3.需求抽取有哪些技术?
答:协同工作、面谈、问卷调查、观察法、原型法、文档分析、建模。