第一章 概论

1、什么是程序?

答:在学习软件工程导论前,我们已经学习了一些计算机语言和数据结构这样的课程,并深刻的知道“程序=数据结构+算法”,但在学习中还是会产生如书中1.1讲所提到的那些疑问,二叉树的遍历算法有什么实际用处?大多数的算法都已经实现,我们只要调用即可,那学习数据结构有什么用呢?一个程序需要后台维护,那团队中新加入的成员就要读懂过去的程序并进行改进,程序到底是什么?仔细阅读过第一章的内容之后,我明白了这样两个推论,“软件=程序+软件工程”、“软件企业=软件+商业模式”。即,程序是基本功,但在算法和数据结构之上,软件工程决定了软件的质量;商业模式决定了一个软件企业的成败。程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合,是为实现预期目的而进行操作的一系列语句和指令。如果要让这个程序货起来,就要进入到软件工程的阶段,解决各个时期的各种问题。

2、什么是软件工程?

答:软件可以说是人类创造的最复杂的系统类型,软件工程师能看到源代码,但是源代码不是软件本身,软件看上去很容易修改,软件不能独立存在,他总是要运行在硬件上面,人们比较容易理解连续的系统:增加输入,就能看到相应输出的增加。有许多不同的程序设计语言、软件工具和软件开发平台,存在许多不同的软件开发流程。。。那么软件工程到底是什么?1.2中有提到,软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护的过程中。查阅资料后了解到,它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件有电子邮箱、嵌入式系统、人机界面、操作系统、编辑器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。

3、软件工程与计算机科学有什么样的关系?

答:书中的概括,如表格

计算机科学 软件工程
发现和研究长期的、客观的真理 短期的实际效果(具体的软件会过时)
理想化 对各种因素的折衷
确定性、完美、通用性 对不确定性和风险的管理,足够好,具体的应用
各个学科独立深入研究,做出成果 关注和应用各个相关学科的知识,解决问题
理论的统一 百花齐放的实践方法
形式化,追求简明的公式 在实践中建立起来的灵感和直觉
正确性 可靠性
计算机科学与技术和工程涉及的领域不同,计算机科学与技术是计算机的全面知识,包括计算机原理、硬件、及发展趋势。工程主要是计算机的开发,程序的编写。
计算机科学与技术是计算机综合性知识的专业,主要培养具有良好的科学素养,系统地、较好地掌握有关计算机科学与技术的理论和技术,包括计算机硬件、与计算机应用的基本理
论、基本知识和基本技能与方法,能在科研部门、教育单位、、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的计算机科学与技术学科的高级科学技术人才。
工程专业以计算机科学与技术学科为基础,强调开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事需求分析、设计、测试、维护和项目管理等工作
所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养,培养能够从事开发、测试、维护和项目管理的高级专门人才。
第二章 个人技术和流程
1、什么是单元测试?
答:单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指
一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级
别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。经常与单元测试联系起来的另外一些开发活动包括代码走读(Code review),静态分析和动态分析。
静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以
测试覆盖度方面的信息。
2、什么是PSP?
答:个人软件过程(Personal Software Process,PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。
PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的
计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。
第十六章
1、软件工程的技术和实践如何帮助创新?
答:在创建一个系统时,开发人员可以边编程边测试。 在软件工程中,介绍了很多用图形表示问题的技术,包括系统流程图、数据流图、层次图、结构图等,如何画这些图、如何利用
这些图清晰的表达出解决问题所在,这些图更适用于表示什么样的问题,相近图的相同点和不同点,各适用于什么场合,这样的创新就是用精炼的语言表达最丰富的内容。
2、影响产品竞争的因素都有什么?
答:产品行业的因素,公司和市场因素,团队执行因素,产品的价值因素,邹欣老师在书中的解释很详细,非常感谢。

 

Week-2-作业1的更多相关文章

  1. python10作业思路及源码:类Fabric主机管理程序开发(仅供参考)

    类Fabric主机管理程序开发 一,作业要求 1, 运行程序列出主机组或者主机列表(已完成) 2,选择指定主机或主机组(已完成) 3,选择主机或主机组传送文件(上传/下载)(已完成) 4,充分使用多线 ...

  2. SQLServer2005创建定时作业任务

    SQLServer定时作业任务:即数据库自动按照定时执行的作业任务,具有周期性不需要人工干预的特点 创建步骤:(使用最高权限的账户登录--sa) 一.启动SQL Server代理(SQL Server ...

  3. 使用T-SQL找出执行时间过长的作业

        有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下:   SELECT sj.name , ...

  4. T-SQL检查停止的复制作业代理,并启动

        有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分 ...

  5. Python09作业思路及源码:高级FTP服务器开发(仅供参考)

    高级FTP服务器开发 一,作业要求 高级FTP服务器开发 用户加密认证(完成) 多用户同时登陆(完成) 每个用户有不同家目录且只能访问自己的家目录(完成) 对用户进行磁盘配额,不同用户配额可不同(完成 ...

  6. 个人作业week3——代码复审

    1.     软件工程师的成长 感想 看了这么多博客,收获颇丰.一方面是对大牛们的计算机之路有了一定的了解,另一方面还是态度最重要,或者说用不用功最重要.这些博客里好些都是九几年或者零几年就开始学习编 ...

  7. 个人作业-week2:关于微软必应词典的案例分析

    第一部分 调研,评测 评测基于微软必应词典Android5.2.2客户端,手机型号为MI NOTE LTE,Android版本为6.0.1. 软件bug:关于这方面,其实有一些疑问.因为相对于市面上其 ...

  8. 软件工程第二次作业——git的使用

    1. 参照 http://www.cnblogs.com/xinz/p/3803109.html 的第一题,每人建立一个GitHub账号,组长建立一个Project,将本组成员纳入此Porject中的 ...

  9. hadoop作业调度策略

    一个Mapreduce作业是通过JobClient向master的JobTasker提交的(JobTasker一直在等待JobClient通过RPC协议提交作业),JobTasker接到JobClie ...

  10. SQL SERVER 2008复制数据库时发生执行SQL Server代理作业错误

    1. 情况说明 在利用SQL SERVER数据库复制向导,能够很方便的将一个数据库从一台服务器复制到另一台服务器上,具体操作步骤也十分简单. 不过在实际操作过程常发生“执行SQL SERVER代理作业 ...

随机推荐

  1. 2.Built-in types-基本数据类型(Dart中文文档)

    初次翻译,部分内容并非按字面翻译,是按本人理解进行了内容重组.如有错误望指正. Dart语言内置如下数据类型: numbers strings booleans lists (所谓的数组) maps ...

  2. Web 前端性能优化相关内容解析

    Web 前端性能优化相关内容,来源于<Google官方网页载入速度检测工具PageSpeed Insights 使用教程>一文中PageSpeed Insights 的相关说明.大家可以对 ...

  3. 在Visual Studio 2012中使用ASP.NET MVC5

    去年11月,.NET团队发布了用于 Visual Studio 2012 的 ASP.NET 和 Web 工具 2013.1 您可以从下面提供的链接下载该更新:  下载用于 Visual Studio ...

  4. 20145209刘一阳《JAVA程序设计》课堂测试总结

    20145209刘一阳<JAVA程序设计>课堂测试总结 这次重新学习JAVA这门课,我对本学期没有参与的测试进行了总结并制作成二维码方便老师检查,详细内容如下: 第一周课堂测试### ht ...

  5. SP1716 GSS3 - Can you answer these queries III

    题面 题解 相信大家写过的传统做法像这样:(这段代码蒯自Karry5307的题解) struct SegmentTree{ ll l,r,prefix,suffix,sum,maxn; }; //.. ...

  6. bzoj 2238 Mst

    显然先求出最小生成树 如果删的是非树边就不用管,还是能取最小生成树 如果删的是树边就有非树边可以替代它 反向考虑,每条非树边可以替代最小生成树上一条路径的边 所以树剖加线段树,对每条非树边在树上更新对 ...

  7. 【PaPaPa】系统架构搭建浅析 - 人人可以搭架构

    声明 [PaPaPa]这个项目是以技术分享与研究为目的而做的,并非商业项目,所以更多的是提供一种思路,请勿直接在项目中使用. 上一篇隐藏开源项目地址实属无奈,为了寻找一起做这件事的同伴不得已刷了一天推 ...

  8. 写高并发程序时慎用strncpy和sprintf

    分享一下最近做程序优化的一点小心得:在写高并发交易代码时要谨慎使用strncpy和sprintf. 下面详细介绍一下这样说的原因及建议实践: 1 慎用strncpy因为它的副作用极大 我们平时使用st ...

  9. VM虚拟机安装CentOS 7.0添加jdk环境

    虚拟机注册码 5A02H-AU243-TZJ49-GTC7K-3C61N 安装centos系统,网络类型选择桥接网络安装完成后vi /etc/sysconfig/network-scripts/ifc ...

  10. Android Studio|IntelliJ IDEA 上传代码到码云

    码云 新建项目 Android Studio|IntelliJ IDEA 然后仓库就创建好了 此时左方文件应显示为红色 添加代码到git仓库 提交代码到git仓库 push等待被拒绝 拉取README ...