第一次软件工程作业

第一章

计算机专业术语:

软件=程序+软件工程

程序=算法+数据结构

 

源程序:按照一定的程序设计语法编辑出来的文本,是一系列的人类可读的计算机语言。

软件架构:大型工程的总体规划设计(利用cc和link命令)。

源代码管理(亦称配置管理):保证软件在修改的过程中质量不断提高,为某个需求写一些特殊的功能。

软件测试:开发出的软件进行质量验证的过程。

程序理解:软件团队中新人对已有程序的的了解。

软件维护(或称服务运营):给软件进行维护,团队的队员进行修复的各种各样的问题。

用户体验:使用者对该软件的体验感。

软件的生命周期:对软件进行维护的过程。

软件项目的管理:软件维护的管理人员。

软件的国际化和本地化:不同语言,不同地区用户对界面和功能的不同需求。

 

计算机科学领域分类(如下图所示):

(1)偏理论领域:

计算理论

信息和编码理论

算法和数据结构

形式化方法

程序设计语言

(2)偏实践领域:

计算机体系结构

并行计算和分布式系统

实时系统和嵌入式系统

操作系统

计算机网络

科学计算

安全和密码学

人工智能(模式识别、机器学习、数据挖掘、信息提取等)

计算机图形学、计算机视觉、多媒体

数据库和大规模数据处理

万维网

自然语言处理和语音

人机交互

软件工程

 

 第一次软件工程作业_第1张图片

 

计算机科学领域分类

 

 

软件工程目标

符合用户需求

在预计时间内发布“足够好”的软件

后续的维护和继续发展

 

软件的特殊性

复杂性:极其复杂的大型系统(如:操作系统、办公软件、搜索引擎),代码超过百万行。

不可见性:软件工程师可直接看见源代码,但源代码非软件本身,软件执行不可见。

易变性:软件的修改比硬件修改容易(a.让软件做新的事情;b.让软件适应新硬件)

服从性:软件不能脱离硬件单独存在。

非连续性:软件系统在输入变化极小的情况下可能会导致输出的极大变化。

 

阅读教材问题:

(1)p26,看了问和答的话,无法正确理解和区分“极限编程测试”和“单元测试”的正确的含义。

(2)p36,工程师和大学生在做软件时,工程师在测试时所使用的时间比大学生在做测试时多,为何不在软件发布之后进行软件更新。

(3)p169,软件项目计划中有一个对项目的估计,如果在大型的软件项目中(如微软的办公系统开发)如何进行时间估计,如何进行大规模的安排规划,是一步步研发还是安排总  的时间,在总时间之前研发完成。

(4)p225,图形建模,属于抽象建模还是理论建模,那应当如何进行建模。

(5)p274,黑白箱测试设计中,我们该如何进行黑白箱设计,如何进行测试。

 

软件分类:

手机应用(mobile app:微信、QQ、高德地图、铁路12306、哔哩哔哩(简称B站)

游戏(game:英雄联盟、刺激战场

工具软件(tools:谷歌翻译、海词词典,GitHub博客

其中以B站和英雄联盟为例作特点分析:

      1.其中B站作为现目前中国使用人数做多的学习软件之一(B站的原作用为看动漫视频的播放器,后来开发者在其中添加了大量的学习视频以及大量的非收费的视频),在加入了大量的学习视频之后,人气持续上升,超过了网易的慕课网使用人数。其中以流量、广告、出售商品获取利润。有一部分是通过网银进行交易。主要以流量为主。 英雄联盟作为现目前中国最受欢迎的大型网络游戏之一,属于塔防式游戏,类似于刀塔。不似现目前市面上以游戏装备贩卖、升级、充钱类的游戏,英雄联盟充钱并不能解决 装备和角色升级的问题。英雄联盟主要以流量(下载量,更新量)、皮肤销售、广告为主要的盈利手段。有一部分赚取现金(皮肤售卖)。

       2. 大二在网上进行视频学习的时候下载B站,B站非常适合学习,主要是里面大量的学习视频不需要花钱购买。不会玩英雄联盟,但知道这个游戏,不论从运营还是制作相当成功的一个游戏,特别是英雄联盟的运营,腾讯做得非常到位。

       3. 当出现了bug时进行更新,英雄联盟强制更新,B站由用户自己决定。

       4. B站集合了各种视频(动漫、游戏、学习、直播等)并且大量视频不需要收费,视频无广告,用户体验感相对较强。腾讯对英雄联盟的宣传主要以英雄联盟国际比赛(春季   赛、夏季赛等)以及各大主播平台大量主播的播放宣传为主。

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