20194616 第一次作业
(一)《构建之法——现代软件工程》
第一章 概论 (计算机相关术语整理)
1.1 软件=程序+软件工程
程序在这里指源程序,程序还要对数据进行操作,这些操作有时候是静态的,有时候是动态的。但是光有代码和静态数据还不行,工程师要把它们构建成机器能懂的可执行代码。构建不仅仅是cc和link命令,一个复杂的软件不但要有合理的软件架构(Software Architecture)、软件设计与实现(Software Design,Implementation and Debug)、还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数等等,这些都是构建的过程。
怎么保证软件在修改过程中质量不断提高,至少要维持以前的质量的问题被称为源代码管理(Source Code Control)又叫 配置管理(Software Configuration Management)
用一系列高质量的工具、流程、文档来保证程序的正确性,这就是 质量保障(Quality Assurance),具体的验证过程叫做软件测试(Test)
把合适的需求梳理出来,然后逐步展开后续工作被叫做需求分析(Requirment Analysis)
团体里的新成员要尽快读懂已有的程序,了解程序的设计,这叫 程序理解(Program Conprehension)
软件运行过程中还会出现这样那样的问题,我们要时不时的给软件打一个补丁,或者维护众多的服务,团队的新老成员要一起修复各种各样的问题,这叫服务运营(Service Operation)
以上一系列的过程就是软件的生命周期(Software Life Cycle,SLC)
在这一周期中,有人得负责软件项目的管理(Project Management)、
一个好的软件,即使功能和同类软件区别不大,但却会让人感觉到非常好用,这就是用户体验(User Experience)
软件还要处理不同语言、不同地区的用户对界面和功能的不同需求,这叫软件的国际化和本土化(Globalization&Localization)
广义上的软件工程也包括用户体验、用户界面设计(User Interface Design)等
软件=程序+软件工程、
软件企业=软件+商业模式
软件开发的不同阶段:
- 玩具阶段
- 业余爱好阶段
- 探索阶段
- 成熟的产业阶段
1.2 软件工程是什么
软件工程师把系统的有序的,可量化的方法应用到软件的开发、运营和维护上的过程
软件工程包括下列领域:软件需求分析、软件设计、软件构件、软件测试、软件维护
人们在开发、运营、维护软件的过程中有很多技术、做法、习惯和思想体系,将这些相关的技术和过程统一到一个体系中,叫做软件开发流程
软件工具:编译工具、源代码管理工具、源代码编辑工具、软件工具系统(Microsoft Visual Studio、GitHub、Eclipse、CLearCase、ClearQuest等)
1.2.1软件工程的特殊性
软件分类方法:
- 系统软件:操作系统、设备驱动程序、工具软件等
- 应用软件:用户使用他们能来完成工作、从管理核电厂到写文章,或者是通信、游戏、浏览网页、播放视频等
- 恶意软件:软件病毒等
软件开发过程难点:
- 复杂性(Complexity)
- 不可见性(Invisibility)
- 异变性(Changeablility)
- 服从性(Conformity)
- 非连续性(Discontinuity)
1.2.2软件工程与计算机科学的关系
- 计算机科学和软件工程的不同侧重点
计算机科学 | 软件工程 |
发现和研究长期的客观的真理 | 短期的实际结果(具体的软件会过时) |
理想化的 | 对各种因素的折衷 |
确定性、完美、通用性 | 对不确定性和风险的管理,足够好,具体的应用 |
各个学科独立深入研究,做出成果 | 关注和应用各个相关学科的知识,解决问题 |
理论的统一 | 百花齐放的实践方法 |
强调原创性 | 最好的、成熟的实践方法 |
形式化,追求简明的公式 | 在实践中建立起来的灵感和直觉 |
正确性 | 可靠性 |
1.2.3 软件工程的知识领域
生命周期:
软件需求、软件设计、软件构建、软件测试、软件维护
专门领域:
软件配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量
理论基础:
计算基础、数学基础、工程基础
1.2.4 软件工程的目标——创造“足够好”的软件
所谓好软件,就是没有缺陷(Bug)
所谓软件工程,就是把软件中的Bug都消灭的过程。
Bug的多少可以直接衡量一个软件的开发效率、用户满意度、可靠性和可维护性
————————————————————————————————————————
(二)P18-2
1.在P27中有一句话,“为了保证代码覆盖率,单元测试必须测试公开的和私有的函数\方法,”对此,我有一点疑惑,对于需要进行单元测试的代码,我们应该怎样选择进行代码覆盖的方法,并且能够保证其代码覆盖率达到100%并且涵盖所有可能性?
2.书中P68中 “注释(包括所有源代码)应该只用ASCII字符,不要用中文或者其他特殊字符,否则会极大的影响程序的可移植性。”但后文中有提到“在现代编程环境中,程序编辑器可以设置各种美观得体的字体"如果用中文或其他特殊字符会影响程序的移植性,为什么现代编程环境还要允许设置各种字体?虽然极大的方便了人们的阅读和修改,但对于程序本身有影响的做法就应该提倡吗?或者在现代编程环境中可以做到忽略其影响?
3.书中P76中提到”做标记是一个不错的方法,但是如果开发者光记得做标记,最后却没有真正去研究和改正这些潜在的问题……“这里作者表达的意思是否支持做标记这一方法?我觉得是否可以通过其他的标记形式来简化标记含义,从而达到高效快速的目的,从而有时间去考虑对于潜在问题的优化和改进。
4.P77 设计规范部分中 我认为注意事项里是否可以加入“代码功能是否能够兼容各大主流平台”这一条内容,以及第五条中”因为源代码控制已经保存了原来的老代码“这句话的意思是什么?是这些被注释掉的代码在源代码中都有记录不需要在后续相关代码中展现,还是说仅仅是保留了目前有用的代码?
————————————————————————————————————————
(三)P18-3
工具软件:画图、WPS Office、应用宝、高德地图、去哪儿旅行、滴滴出行、交通银行、中国工商银行、工银e融联、中国银行、课程格子、c语言编译器、讯飞输入法、周公解梦、计算器、掌上WeGame、百度网盘、百度文库、qq邮箱、滨州掌上公交、码码通、网喵、U净、美柚、薄荷健康、知网、百度贴吧、有道翻译官
购物消费:饿了么、支付宝、手机淘宝、美团、闲鱼、省钱快报、网易考拉、
社交软件:qq、微信、微博
音乐软件:网易云音乐、喜马拉雅FM、酷狗音乐、全民K歌、唱鸭
娱乐软件:哔哩哔哩、爱奇艺、腾讯视频、芒果TV、韩剧TV、抖音、B612咔叽
学习软件:知乎、中国大学MOOC、运动世界校园、驾考精灵、考研帮、扇贝单词、网易有道词典、
阅读软件:今日头条、书旗小说、晋江小说、
游戏软件:扫雷、布林机、开心消消乐
对于微信的分析
1)界面简洁、私密性高,最开始并不以盈利为目的,仅仅为了提供一个免费的即时通讯服务
2)通过下载获得该软件,当时在上初中,使用下来感觉对于传输文件这方面还不是很方便,QQ相对而言做得更好一些,而且在登陆账号这一方面有很大限制,不过在社交通讯这一方面给人的使用感还是很不错的。
3)通过接受用户反馈意见及建议上传至后台处理,系统会自动更新应用版本。
4)通过不断更新新的功能,提高软件的实用性、便利性来提高软件的竞争力。
转载于:https://www.cnblogs.com/Xyz0314777/p/11482097.html
20194616 第一次作业相关推荐
- 信号与系统 2022 春季学期第一次作业-作业题目准备
简 介: 关于作业的参考答案需要根据之前结果,再结合现在的修改进行补充. 关键词: 作业,信号与系统 #mermaid-svg-HSmAT7ir1Kl95O1z {font-family:" ...
- 2021年人工神经网络第一次作业:参考答案-1
简 介: 本文给出了 2021年人工神经网络第一次作业要求 中,由同学提交的作业示例. 关键词: 人工神经网络,感知机,BP,数据压缩 #mermaid-svg-mAbRor9AKp6fkRrk {f ...
- 2021年人工神经网络第一次作业要求
## ◎ 参考答案: 2021年人工神经网络第一次作业:参考答案-1 §01 第一题 1.1 使用感知机求解下面的分类问题. ▲ 图1.1 1.1.1 题目要求 绘制出网络结构,并给出算法流程描述: ...
- 2021年春季学期-信号与系统-第一次作业参考答案-第六题
本文是: 2021年春季学期-信号与系统-第一次作业参考答案 的参考答案. ▌第六题 MATLAB实验题1 请从网络学堂上下载音频信号,使用MATLAB软件绘制出它的视频联合分布图,分析其中电话号 ...
- 2021年春季学期-信号与系统-第一次作业参考答案-第五题
本文是: 2021年春季学期-信号与系统-第一次作业参考答案 的参考答案. ▌第五题 分别指出下列波形的直流分量等于多少? 说明:对于周期信号的直流分量,等于它一个周期内的平均值,即: fD(t) ...
- 2021年春季学期-信号与系统-第一次作业参考答案-第四题
本文是: 2021年春季学期-信号与系统-第一次作业参考答案 的参考答案. ▌第四题 应用冲激信号的抽样特性(筛选特性) 求下列各式的积分: (1) 求解: 根据δ(t)\delta \left( ...
- 2021年春季学期-信号与系统-第一次作业参考答案-第三题
本文是: 2021年春季学期-信号与系统-第一次作业参考答案 的参考答案. ▌第三题 判断下列各信号是否为周期信号, 如果是周期信号求出其基波周期. (1) cos(10t)−cos(30πt ...
- 2021年春季学期-信号与系统-第一次作业参考答案
※ 求解答案参见每道题后面的连接 2021年春季学期-信号与系统-第一次作业参考答案-第一题 2021年春季学期-信号与系统-第一次作业参考答案-第二题 2021年春季学期-信号与系统-第一次作业参考 ...
- 2021年春季学期-信号与系统-第一次作业参考答案-第二题
本文是: 2021年春季学期-信号与系统-第一次作业参考答案 的参考答案. ▌第二题: 写出下图所示的各波形的函数表达式: 第一小题: 求解: 这个函数可以使用分段函数来表示: 可以利用∣t∣\l ...
最新文章
- 正则表达式(Regular Expression)
- 将一个数组划分为和差值最小的子数组
- qpushbutton设置居中_Qt QGridLayout自动将项目居中(移动)到中间。
- NBU网络备份大全之oracle系统冷备份
- mysql二进制格式_二进制格式安装 MySQL
- ios 安装OpenFire
- thinkphp集成系列之阿里云oss
- Tensorflow中 tf.train.exponential_decay() 等实现学习率衰减
- 【Codewars】Pick peaks
- 手机Root后如何拿取data/data目录下的文件夹到电脑上
- 学习笔记—什么是微数据?itemscope/itemtype/itemprop(搜索引擎seo优化)
- 【深度学习环境配置】手把手实战配置深度学习环境(win10版)
- google chrome
- 教学反思计算机专业,【计算机教学反思】_计算机教学反思参考资料-毕业论文范文网...
- 学习笔记(11):OmniPlan项目管理就该这样学-拆分任务
- LGD计划扩增OLED TV面板产能
- 【老生谈算法】matlab实现TDOA定位的Chan算法源码——TDOA定位
- auto.js对接联众的一个实例
- 获取Google Play Store中的apk文件
- flume三种方式收集日志的案例
热门文章
- 便利贴--17{移动端滑动模块}
- 【第一章 走进数据科学】袁博《数据挖掘:理论与算法》
- 5G+Wi-Fi 6“双管齐下”,“双千兆”普及时代还远吗?
- 基姆拉尔森时间计算公式
- 生成二维码API接口,免费好用
- IDEA添加快捷注释功能
- excel导入到mysql数据库
- pycharm报Process finished with exit code -1073741515 (0xC0000135)
- 修改参数(parameter)
- C++ builder 编译加速问题