2018-2019-1 20189221 《构建之法》第一周学习总结

2018-2019-1 20189221 《构建之法》第1周学习总结

教材学习内容总结

第 1 章 概论

  • 理论和知识点:

    计算机科学的领域,软件工程与计算机科学的关系,软件的特性,软件工程的定义与组成部分

1.1 软件 = 程序 + 软件工程

  • 程序 = 数据结构 + 算法
  • 简单的应用程序--->满足各种功能的应用软件--->保证服务质量的软件服务
  • 软件工程的要求质量保证、用户体验、国际化和本地化
  • 软件工程的工作有源代码管理、配置管理、软件项目的管理、需求分析、软件测试、程序理解、软件维护/服务维护
  • 软件企业 = 软件 + 商业模式
  • 软件开发的不同阶段
    • 玩具阶段
    • 业余爱好阶段
    • 探索阶段
  • 商业软件vs爱好者写的程序

1.2 软件工程是什么

软件工程是把系统的, 有序的, 可量化的方法应用到软件的开发, 运营, 和维护上的过程。

软件工程包括下列领域: 软件需求分析, 软件设计, 软件构建, 软件测试, 和软件维护.

软件工程和下列的学科相关: 计算机科学, 计算机工程, 管理学, 数学, 项目管理学, 质量管理, 软件人体工学, 系统工程, 工业设计, 和用户界面设计.

1.2.1 软件的特殊性

  • 复杂性
  • 不可见性
  • 易变性
  • 服从性
  • 非连续性

1.2.2 软件工程与计算机科学的关系

计算机科学中偏理论的领域,大多与数学、离散数学、数理逻辑密切相关

计算机科学中偏实践的领域,大多和数据以及其他学科发生关系

软件工程和人的行为、现实社会的需求息息相关

工程师的宗旨是:我构建,故我在

软件项目的特点:

  • Build To Learn
  • Build To Show
  • Build To Serve
  • Build To Win

1.2.2 软件工程与计算机科学的关系

三大类基础知识领域:计算基础、数学基础和工程基础

“没有银弹“,霍夫斯维塔定律,Cocomo模型

\[
Person*Mounth=2.4*KLoC^{1.05}
\]

1.2.4 软件工程的目标——创造“足够好”的软件

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

1.3 练习与讨论

  • 自动生成四则运算的小程序

  • 支持分数计算的小程序

教材学习中的问题和解决过程

在看1.2.2 软件工程和计算机科学的关系时不是很能理解两者的区别

之前查看课后的内容和讨论时发现了邹老师博客,阅读了微软学术搜索项目 10个版本的历程,对软件工程在项目中实践有了更深的了解:

项目计划步骤--> 项目的核心价值是什么, 决定不做什么 --> 决定开发周期[计划;实现;测试并上线 ]--> 项目人员--> 联系合作

参考资料

原文地址:https://www.cnblogs.com/gdman/p/9851044.html

时间: 2024-10-21 21:16:07

2018-2019-1 20189221 《构建之法》第一周学习总结的相关文章

构建之法第二周学习体验

首先我学习了个人能力的衡量与发展.软件工程中有一项是软件开发流程,目的是为了提高软件开发.运营和维护的效率.但是软件开发流程不光是指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的.单个成员在团队中的流程包括:1.通过交流.实验.快速原型等方法,理解问题.需求或任务2.提出多种解决办法并估计工作量3.与相关角色交流解决问题的提案,决定一个可行的方案 4.执行,把想法变成实际中能工作的代码,同时验证方案的可行性和其他特性5.在测试环境中测试实现方案,修复Bug6.在解决方案发布出去后,对

阅读构建之法第一章有感

今天阅读了构建之法第一章,感觉到自己其实玩具的阶段都不到,离研究阶段更是差的有段距离.了解到程序其实只是一个藏在你电脑里的数据结构加算法,要想成为软件还得经历软件工程这一阶段,软件工程便是把系统的.有序的,可量化的方法应用到软件开发,运营和维护上的过程中.首先我要进行软件需求分析,一个成功的软件是要有市场需求作为背景的,没有需求你做的软件就是无用的东西,有了需求然后我们对软件进行设计使之安全 可行 基本满足市场的需求.然后我们便对我们的软件进行测试.最后软件在用户手中运行,但是十全十美的软件是不

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

20172305 2017-2018-2 《程序设计与数据结构》第一周学习总结

20172305 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 本书的第一章简单的介绍了计算机和JAVA的历史,基础内容很多,代码的讲解还没用正式进入,本周一直在做敲代码的准备,简单敲了老师给的"Hello World!"以及书后的PP1.3.PP1.4等简单的小程序. 教材学习中的问题和解决过程 问题1:三种不同类型的错误,运行错误和逻辑错误的混淆 问题1解决方案:针对EX1.20的"希望做加法时却做里乘法"进行了网上

赵栋 201771010137 《面向对象程序设计(java)》第一周学习总结

<面向对象程序设计(java)>第一周学习总结第一部分:课程准备部分 平台名称 注册账号 博客园:www.cnblogs.com/ https://www.cnblogs.com/zd0421/ 程序设计评测:https://pintia.cn/ [email protected] 代码托管平台:https://github.com/ STPPKJ 中国大学MOOC:https://www.icourse163.org/ 17393165076 以下回答是或否 是否加入课程班级博客群 是 是否

达拉草201771010105《面向对象程序设计(java)》第一周学习总结

达拉草201771010105<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com DLC 程序设计评测:https://pintia.cn/ [email protected] 代码托管平台:https://github.com/ dalacao 中国大学MOOC:https://www.icourse163.org/ 2665087485 以下回答是或否 是否加入课程班级博客群 是

李瑞红 201771010111《面向对象程序设计(java)》第一周学习总结

李瑞红 201771010111<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 3451487460 程序设计评测:https://pintia.cn/ [email protected] 代码托管平台:https://github.com/ 3451487490 中国大学MOOC:https://www.icourse163.org/ 3451487460 以下回答是或否 是否加

张季跃201771010139《面向对象程序设计(java)》第一周学习总结(改)

张季跃201771010139<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com Tonma 程序设计评测:https://pintia.cn/ [email protected] 代码托管平台:https://github.com/ [email protected] 中国大学MOOC:https://www.icourse163.org/ 1987400371 以下回答是或否 是否

20172301 《程序设计与数据结构》第一周学习总结

20172301 <程序设计与数据结构>第一周学习总结 教材学习总结 第一章 软件的质量特征 正确性:软件能否有效处理问题 可靠性:软件发生故障的频率 健壮性:软件修复错误以及bug出现的频率 可用性:软件处理问题效率 可维护性:代码的整洁规范是否有利于维护 可重用性:使用已有的组件来减少开发工作量 可移植性:能在不同开发环境下能顺利运行 运行效率:提高软件运行效率,优化CPU时间和内存 数据结构 数据结构是计算机存储.组织数据的方式. 算法效率 算法效率是指算法执行的时间,算法执行时间需通过

20172323 2018-2019-1 《程序设计与数据结构》第一周学习总结

20172323 2018-2019-1 <程序设计与数据结构>第一周学习总结 教材学习内容总结 第一章--概述 1.1 软件质量 软件工程(Software Engineering)是一门关于高质量软件开发的技术和理论的学科. 解决的问题:控制开发过程,实现高质量的软件 软件工程的目标 高质量软件的特征 1.2 数据结构 数据结构:计算机存储.组织数据的形式. 程序 = 数据结构 + 算法 软件 = 程序 + 软件工程 栈会颠倒数据的顺序,而队列可以保持数据的顺序. 第二章--算法分析 算法