第一章 概论

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. MS522低功耗寻卡

    方案:单片机处于低功耗模式,MS522处于软掉电模式.单片机用RTC定时(比如每隔1s)唤醒,单片机唤醒后唤醒MS522寻卡.寻到卡则做进一步处理,否则MS522继续进入软掉电模式,单片机进入低功耗模 ...

  2. 洛谷 P1580 yyy loves Easter_Egg I

    洛谷 P1580 yyy loves Easter_Egg I 题解: 队列+字符串 #include <cstdio> #include <string> #include ...

  3. C#时间间隔

    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start(); stop ...

  4. SpringBoot日记——Thymeleaf模板引擎篇

    开发通常我们都会使用模板引擎,比如:JSP.Velocity.Freemarker.Thymeleaf等等很多,那么模板引擎是干嘛用的? 模板引擎,顾名思义,是一款模板,模板中可以动态的写入一些参数, ...

  5. SpringBoot日记——Web开发篇

    准备开始实战啦!~~~~ 我们先来看,SpringBoot的web是如何做web开发的呢?通常的步骤如下: 1.创建springboot应用,指定模块: 2.配置部分参数配置: 3.编写业务代码: 为 ...

  6. Rmdir方法

    删除现有目录或文件夹. 语法 RmDir路径 所需的_路径_参数标识的目录或文件夹要移除的字符串表达式. _路径_可以包含驱动器. 如果没有指定驱动器, RmDir 将删除当前驱动器上的目录或文件夹. ...

  7. Spring Boot之发送HTTP请求(RestTemplate详解)

    原文作者:微笑面对生活 https://www.javazhiyin.com/19714.html#comment-345 RestTemplate是Spring提供的用于访问Rest服务的客户端,R ...

  8. 匹配追踪算法(MP)简介

    图像的稀疏表征 分割原始图像为若干个\[\sqrt{n} \times \sqrt{n}\]的块. 这些图像块就是样本集合中的单个样本\(y = \mathbb{R}^n\). 在固定的字典上稀疏分解 ...

  9. CHAPTER 40 Science in Our Digital Age 第40章 我们数字时代的科学

    CHAPTER 40 Science in Our Digital Age 第40章 我们数字时代的科学 The next time you switch on your computer, you ...

  10. Redis源码阅读(六)集群-故障迁移(下)

    Redis源码阅读(六)集群-故障迁移(下) 最近私人的事情比较多,没有抽出时间来整理博客.书接上文,上一篇里总结了Redis故障迁移的几个关键点,以及Redis中故障检测的实现.本篇主要介绍集群检测 ...