软件工程第一次作业

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

程序=数据结构+算法

程序,在这里指的是源程序,就是一行行的代码。他们是建立在数据结构上的一些算法。程序还要对数据进行操作,这些数据有些事静态的,(软件的图标,提示信息)有些是动态的。(例如程序生成的随机数字,程序通过网络下载的数据,用户的文字或者语音输入等。)例如一个复杂的软件不但要有合理的软件架构软件设计与实现、还要有各种文件和数据来描述各个程序文件之间的依赖关系编译参数链接参数等等。

有些程序要配置不同的界面,运行在中文,英文或其他语言的操作系统上,有些程序还有32位版本,64位版本这源代码管理的问题,也叫配置管理。我们还有一系列的工具来保证程序的正确性,这些工具流程应该达到很高的质量,这就叫质量保障,具体的验证过程叫做软件测试软件团队的人员会流动,新的成员要尽快读懂已有程序,这叫做程序理解。软件在运行过程中出现问题我们要时不时打补丁,这叫软件维护。或者服务运营。这一系列过程就是软件的生命周期。在这一周期中,有人得负责软件项目的管理

软件开发的不同阶段:1.玩具阶段  2.业余爱好阶段  3.探索阶段  4.成熟的产业阶段  

1.2.1软件的特殊性

1.复杂性

2.不可见性

3.易变性

4.服从性

5.非连续性

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

中国大陆的高校中大致有下面三种讲计算机软件的机构:

计算机科学与技术系或学院,软件学院,软件工程系软件工程学院

 

计算机科学这一学术领域可以分为下面这些偏理论的领域:

 

1.计算机理论  2.信息和编码理论  3.算数和数据结构  4.形式化方法  5.程序设计语言

以及下面偏实践的领域:

 

  1.计算机体系结构  2.并行计算机和分布系统  3.实时系统和嵌入式系统  4.操作系统  5.计算机网络  6.科学计算  7.安全和密码学  8.人工智能  9.计算机图形学  10.计算机视觉  11.多媒体  12.数据库和大规模数据处理  13.万维网  14.自然语言处理和语音  15.人机交互  16.软件工程

计算机科学和软件工程的不同侧重点

    计算机科学                软件工程

    发现和研究长期的、客观的真理       短期的实际结果(具体的软件会过时)

    理想化的                 对各种因素的折衷

    确定性,完美,通用性           对不确定性和风险的管理,足够好,具体的应用

    各个学科独立深入研究,做出成果      关注和应用各个相关的学科的知识,解决问题

    理论的统一                百花齐放的实践方法

    强调原创性                最好的、成熟的实践方法

    形式化,追求简明的公式          在实践中建立起来的灵感和直觉

    正确性                  可塑性

1.2.3软件工程的知识领域

        生命周期:软件需求,软件设计,软件构建,软件测试,软件维护。

  专门领域:软件配置管理,软件工程管理,软件工程过程,软件工程模型和方法,软件质量。

  理论基础:计算基础,数学基础,工程基础。

1.2.4软件工程的目标--创造足够好的软件

   用户满意度:用户在使用时发现了软件的很多问题,影响了用户使用软件的效率。

   可靠性:某个软件经常会崩溃,某个操作系统会时不时死机,某个网站往往在最需要的时候登不上去。

   软件流程的质量:软件团队和开发流程的问题太多,导致团队成员无法互相协作,按时交付软件。这也可以说式软件团队的bug。

   可维护性:某个软件太难维护了,按下葫芦起了瓢,修复了一个问题,另一个问题又出来了。也没有足够的文档,维护人员需要更多的资金和时间来维护这个软件,甚至建议推倒重写。

P18-2

1.怎么样才能做好一个软件工程师?具体需要什么能力?

2.具体的软件测试是怎么样测试的?

3.软件测试的目的是什么?

4.软件开发的基本过程包括什么?

5.如何保证软件的质量?

P18-3

我的手机软件分成以下几类:

常用设备:QQ 微信 企业微信 微博 

视频软件:腾讯视频 抖音短视频 哔哩哔哩

音频软件:网易云音乐 QQ音乐

支付软件:支付宝 

 

软件分析:周边的朋友都在用的软件。

目标有的为了盈利,有的为了用户量。

通过朋友了解的软件,也有现在生活必需的软件所以才下载软件。很喜欢这些软件,最喜欢的一款软件是微博,因为每天会推送热搜新闻,海量新闻听起来会比较有趣。而且在微博上可以说你想说的话,可以说想法经验,还可以交朋友可以提升知名度。

软件会及时更新。

同一类软件的竞争:比如腾讯视频和爱奇艺视频 会由于电影电视剧的版权去选择用哪个软件。

 

你可能感兴趣的:(软件工程第一次作业)