软件工程第一次作业

第一章     概论

1.1:软件=程序+软件工程

程序=数据结构+算法

程序,在这里指的是源程序,就是一行行的代码。他们是建立在数据结构上的一些算法。程序还要对数据进行操作,这些数据有些事静态的,有些是动态的。

一个复杂的软件不但要有合理的软件架构、软件设计与实现、还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数等等。

源代码管理的问题,也叫配置管理。保证程序的正确性,这就是质量保障,具体的验证过程叫做软件测试。

顾客有各种需求,软件团队需要需求分析。

软件团队的人员会流动,新的成员要尽快读懂已有程序,这叫做程序理解。

修复各种各样的问题,这个叫做软件维护或服务运营。这一系列的过程就是软件的生命周期。

软件=程序+软件工程

软件企业=软件+商业模式

软件开发的不同阶段

1.玩具阶段

2.业余爱好阶段

3.探索阶段

4.成熟的产业阶段

1.2软件工程是什么

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

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

软件工程和下列学科相关:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户体验设计。

1.21 软件的特殊性

1.复杂性

2.不可见性

3.易变性

4.服从性

5.非连续性

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

计算机科学

软件工程

发现和研究长期的、客观的真理

短期的实际结果(具体的软件会过时)
理想化的 对各种因素的折衷
确定性,完美,通用性  对不确定性和风险的管理,足够好,具体的应用
各个学科独立深入研究,做出成果 关注和应用各个相关学科的知识,解决问题
理论的统一 百花齐放的实践方法
强调原创性 最好的、成熟的实践方法
形式化,追求简明的公式 在实践中建立起来的灵感和直觉
正确性 可靠性

1.2.3 软件工程的知识领域

生命周期 软件需求、软件设计、软件构建、软件测试、软件维护
专门领域 软件配置管理、软件工程管理、软件工程工程、软件工程模型和方法、软件质量
理论基础 计算基础、数学基础、工程基础

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

1、用户满意度

2、可靠性

3、软件流程的质量

4、可维护性

教材P18-2

1、如何进行软件测试

2、成为一名优秀的软件工程师需要具备什么样的素质

3、如何根据用户需求来设计软件

4、程序员这门职业都有什么约定俗成的规矩

5、如何保证软件的质量

教材P18-3

Games:王者荣耀、炉石传说、

Tools:百词斩、新东方在线、搜狗输入法

Mobile Apps:优酷、QQ浏览器、网易云音乐

1、游戏因为社交需求。工具类因为日常生活中需要。手机应用是因为随身携带。而且方便。

目标大多数都是盈利。

2、都是下载到手的。大多数都是高二到大学期间下载的。

3、先由用户反馈bug。然后定期更新版本。

4、同类型软件有的依靠与其他软件的联动性来竞争。还有的利用软件的方便。实用功能来占据市场。

原文地址:https://www.cnblogs.com/chen4635/p/11493327.html