第一次作业

一、《现代软件工程—构建之法》第一章,本章中出现的计算机专业术语

  软件=程序+软件工程、程序=数据结构+算法、应用软件、软件服务、源程序、数据、

  软件架构(Software Architecture)、软件设计与实现(Software Design,Implementation and Debug)、构建、源代码管理(Source Code Control)、配置管理(Software Configuration Management)、质量保障(Quality Assurance)、软件测试(Test)、需求分析(Requirement Analysis)、程序理解(Program Comprehension)、软件维护(Software Maintenance)、服务运营(Service Operation)、软件的生命周期(SLC)、软件项目的管理(Project Management)、用户体验(User Experience)、国际化和本地化(Globalization & Localization)

  商业模式、职业道德规范、软件企业=软件+商业模式

  复杂性(Complexity)、不可见性(Invisibility)、易变性(Changeability)、服从性(Conformity)、非连续性(Discontinuity)

  计算机科学(Computer Science)、计算理论、信息和编码理论、算法和数据结构、形式化方法、程序设计语言、计算机体系结构、并行计算和分布式系统、实时系统和嵌入式系统、操作系统、计算机网络、科学计算、安全和密码学、人工智能、模式识别、机器学习、数据挖掘、信息提取、计算机图形学、计算机视觉、多媒体、数据库和大规模数据处理、万维网、自然语言处理和语音、人机交互、软件工程

  冒烟测试(Smoke Test)、工程理论、质量控制论

  软件需求、软件设计、软件构建、软件测试、软件维护、软件资源配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量、计算基础、数学基础、工程基础

  用户满意度、可靠性、软件流程的质量、可维护性

二、教材P18-2  

  问题1  教材P37,关于设计有实际意义的软件工程作业,书中说,在软件工程课上的变成作业通常有三类:1.学习某种编程语言的特性,例如学习C++语言的类的各种知识。2. 练习某些算法或按某种模式处理数据,例如:对输入数据进行排序处理,并输出。3.按照给定的需求实现一个较复杂的软件系统,但没有要求系统进行大规模的测试、模拟、实际运行,或后续演化。这些题目都不算是软件工程作业,缺乏两个最基本要素:复杂性和易变性。

  我阅读了课本中的所举的例子,从数据方面扩展,从需求方面扩展,从用户方面扩展,从软件构建方面扩展。但我还是很疑惑,这对于一个代码能力不强的人来说应怎样进行学习怎样拓展呢?

  问题2  教材P47,软件工程师不能按时交付的原因之一,是他们有时候不满足于“解决目前直接的问题”,而是“解决问题背后的问题”,或者“解决通用的、不直接的、但有重大意义的问题”。

  书中3.2介绍了软件工程师的分析麻痹、不分主次,想解决所有依赖问题、过早优化、过早扩大化/泛化等思维误区,那软件工程师在遇到问题时要更偏向更选择解决当前问题,以尽快提交任务为主吗?

  问题3  教材P47,软件项目的确需要创造性,需要一些意外,一些惊喜。但是,更多的是常规的,可重复的任务,软件工程的奠基人之一瓦茨·汉弗雷总结说,软件领域可以分为两个方面,一方面是技艺创新的大爆发;而另一方面是坚持不懈的工程工作,包括软件的改善、维护和测试等,这一方面占了90%-95%的比例。

  这是不是说软件工程的任务其实是相对简单的?大部分软件工程师做好“工程”基础就能够完成好各项工作了?

  问题4  教材P75,关于代码复审,好的复审者不光是要注意到程序员修改了什么,还要把眼光放远,问这样一些问题:“这么修改之后,有没有别的功能会受影响?”“项目中还有别的地方需要类似的修改么?”“有没有留下足够的说明,让将来维护代码时不会出现问题?”“对于这样的修改,有没有别的成员需要告知?”“导致问题的根本原因是什么?我们以后如何能自动避免这样的情况再次出现?”有些修改看似聪明有效率,实则可能会加大以后的开发和维护的难度。

  代码复审是不是好比第二章中介绍的单元测试,单元测试必须由最熟悉代码的人来写。读4.4.2代码复审的步骤,4.4.3代码复审的核查表 这两节,似乎代码的复审者不一定是了解熟悉程序的,会不会存在为了复审而复审的情况?出现这种情况怎么办呢?

  问题5  教材P80,关于结对编程不间断地复审,(1)传统意义上的伙伴复审,及程序员之间的互相复审,有以下问题:1)复审人缺乏对程序的深入了解,减弱了复审的效果;2)不能持久、定时地进行复审;3)对需求和设计的不了解导致无法实现全面有效的复审。(2)团队复审是指多于两人的团队就某一程序实体进行的复审,团队复审的缺点在于:1)什么时候开会做复审?不可能一个团队天天开会。要找一个所有人都出席的时间不容易;2)牵涉的人员众多,理解程度不一,复审的速度和效果不能得到有效的平衡----太快则有人不懂,太慢则浪费许多人的时间;3)正是由于成本问题,无法对所有的设计和代码进行深入的复审;4)由于人员众多,有面子问题。

  结对编程让两个人所写的代码不断地处于“复审”的过程,程序员们能够不断地审核,提高设计和编码质量,可以及时发现并解决问题,避免把问题拖到后面的阶段去。那么在以后的工作学习中是不是尽量选择结对编程为好?

  三、教材P18-3

  商城O2O:京东、淘宝、美团

  通讯社交:TIM、微信、微博国际版

  教育学习:流利说-阅读、欧路词典、不背单词、思维导图、藏书馆

  实用工具:码码通、12306、U净、QQ安全中心、小日常、WPS

  摄影美图:美图、无他相机

  金融理财:支付宝、中国工商银行、教育收费

  旅游出行:携程旅行、高德地图

  新闻阅读:腾讯新闻、学习强国、E支部

  音乐影音:QQ音乐、哔哩哔哩

  运动健康:咕咚、运动世界校园

 

  流利说-阅读:这个软件是这个暑假下载的(2019.08.15),每日精读一篇英文外刊,提高英文水平。

  是被朋友圈好友打卡吸引过来的,通过出售课程来获取盈利,最初盈利方式每购买100天课程朋友圈打卡满80天返学费,朋友圈限制打卡后改为购买课程,每日至少学习10分钟并做完练习,学习日期不满,不返学费。根据他们的统计每期课程结束能够返学费的比例不高。

  APP学习返费,App内有返费查询功能,但该功能不可用,他们通过建微信群分享查询链接,记录每日学习情况。

  从下载到现在,软件更新一次,主界面由原来的单一的文章界面改为“文章”和“我的”两个菜单。

  

转载于:https://www.cnblogs.com/kaka1/p/11507021.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值