软件工程导论大作业 联系客服

发布时间 : 星期四 文章软件工程导论大作业更新完毕开始阅读f64037cf08a1284ac85043a5

1. 关于大数据(big data)调查报告

Big data也就是大数据是近来的一个技术热点,已经成为新度研究热点。大和转 输速度要求很高,或者其结构不适合原本的数据库系统。为了获取大数据中的价值,我们必 须选择另一种方式来处理它。数据中隐藏着有价值的模式和信息, 在以往需要相当的时间和 成本才能提取这些信息 如沃尔玛或谷歌这类领先企业都要付高昂的代价才能从大数据中挖掘信息。而当今的各种资源,如硬件、云架构和开源软件使得大数据的处理更为方便和廉价。即使是在车库中创业的公司也可以用较低的价格租用云服务时间了。对于企业组织来讲,大数据的价值体现在两个方面:分析使用和二次开发。对大数据进行分析能揭示隐藏其中的信息。例如零售业中对门店销售、地理和社会信息的分析能提升对客户的理解。

大数据之所以成为研究的热点主要是因为近年来互联网、云计算、移动和物联网的迅猛发展。无所不在的移动设备、RFID、无线传感器每分每秒都在产生数据,数以亿计用户的互联网服务时时刻刻在产生巨量的交互等等,要处理的数据量实在是太大、增长太快了,而业务需求和竞争压力对数据处理的实时性、有效性又提出了更高要求,传统的常规技术手段根本无法应付。在这种情况下,为了解决大规模数据的问题,技术人员纷纷研发和采用了一批新技术。

大数据分析相比于传统的数据仓库应用,具有数据量大、查询分析复杂等特点。主要包括分布式缓存、基于MPP的分布式数据库、分布式文件系统等。

(一)大数据四个特性

海量性:企业面临着数据量的大规模增长。例如,IDC最近的报告预测称,到2020年, 全球数据量将扩大50倍。目前,大数据的规模尚是一个不断变化的指标,单一数据集的规 模范围从几十TB到数PB不等。简而言之,存储1PB数据将需要两万台配备50GB硬盘的 个人电脑。此外,各种意想不到的来源都能产生数据。

多样性:一个普遍观点认为,人们使用互联网搜索是形成数据多样性的主要原因,这一 看法部分确。然而,数据多样性的增加主要是由于新型多结构数据,以及包括网络日志、 社交媒体、互联网搜索、手机通话记录及传感器网络等数据类型造成。其中,部分传感器安 装在火车、汽车和飞机上,每个传感器都增加了数据的多样性。

高速性:高速描述的是数据被创建和移动的速度。在高速网络时代,通过基于实现软件 性能优化的高速电脑处理器和服务器, 创建实时数据流已成为流行趋势。 企业不仅需要了解 如何快速创建数据, 还必须知道如何快速处理、 分析并返回给用户, 以满足他们的实时需求。 根据IMS Research关于数据创建速度的调查,据预测,到2020年全球将拥有220亿部互联 网连接设备。

易变性:大数据具有多层结构,这意味着大数据会呈现出多变的形式和类型。相较传统的业务数据, 大数据存在不规则和模糊不清的特性, 造成很难甚至无法使用传统的应用软件进行分析。传统业务数据随时间演变已拥有标准的格式,能够被标准的商务智能软件识别。 目前,企业面临的挑战是处理并从各种形式呈现的复杂数据中挖掘价值。 (二)大数据三大特征

除了有四个特性之外,大数据时代的数据还呈现出其他三个特征。 第一个特征是数据类型繁多。包括网络日志、音频、视频、图片、地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。第二个特征是数据价值密度

相对较低。如随着物联网的广泛应用,信息感知无处不在,信息海量,但价值密度较低,如何通过强大的机器算法更迅速地完成数据的价值“提纯”,是大数据时代亟待解决的难题。第三个特征是处理速度快,时效性要求高。这是大数据区分于传统数据挖掘最显著的特征。

(三)大数据时代对生活、工作的影响

大数据,其影响除了经济方面的,它同时也能在政治、文化等方面产生深远的影响,大 数据可以帮助人们开启循“数”管理的模式,也是我们当下“大社会”的集中体现,三分技术,七分数据,得数据者得天下。 “大数据”的影响,增加了对信息管理专家的需求。事实上,大数据的影响并不仅仅限 于信息通信产业,而是正在“吞噬”和重构很多传统行业,广泛运用数据分析手段管理和优化运营的公司其实质都是一个数据公司。麦当劳、肯德基以及苹果公司等旗舰专卖店的位置都是建立在数据分析基础之上的精准选址。而在零售业中,数据分析的技术与手段更是得到广泛的应用,传统企业如沃尔玛通过数据挖掘重塑并优化供应链, 新崛起的电商如卓越亚马逊、淘宝等则通过对海量数据的掌握和分析,为用户提供更加专业化个性化的服务。大数据在个人隐私的方面,大量数据经常含有一些详细的潜在的能够展示有关我们的信息,逐渐引起了我们对个人隐私的担忧。一些处理大数据公司需要认真的对待这个问题。例如美国天睿资讯给人留下比较深刻印象的是他的一个科学家提出, 我们不应该简单地服从法律方面的隐私保护问题,这些远远不够的,公司都应该遵从谷歌不作恶的原则,甚至更应该做出更积极的努力。

(四)大数据时代的发展方向、趋势

虽然大数据目前在国内还处于初级阶段,但是商业价值已经显现出来。未来,数据可能成为最大的交易商品。但数据量大并不能算是大数据,大数据的特征是数据量大、数据种类多、非标准化数据的价值最大化。因此,大数据的价值是通过数据共享、交叉复用后获取最大的数据价值。未来大数据将会如基础设施一样,有数据提供方、管理者、监管者,数据的交叉复用将大数据变成一大产业。大数据的整体态势和发展趋势,主要体现在几个

方面:大数据与学术、大数据与人类的活动,大数据的安全隐私、关键应用、系统处理和整个产业的影响。大数据整体态势上,数据的规模将变得更大,数据资源化、数据的价值凸显、数据私有化出现和联盟共享。大数据的发展会催生许多新兴新职业,会产生数据分析师、数据科学家、数据工程师,有非常丰富的数据经验的人才会成为稀缺人才。随着大数据的发展,数据共享联盟将逐渐壮大成为产业的核心一环。随着大数据的共享越来越大,隐私问题也随之而来,比如说每天手机产生的通话、位置等等。但这给带来了便利的同时也给带来了个人隐私的问题。数据资源化,大数据在国家和企业和社会层面成为重要的战略资源,成为新的战略制高点和抢购的新焦点。随着社会的不断发展,大数据It技术架构的挑战,大数据的生态环境问题,大数据的应用及产业链将日益突出。

2.注释代码的原因有以下三点:

1)注释是对代码的解释,向用户提示或解释程序的意义。方便别人理解程序或自己以后理解。

2)程序编译时,不对注释做任何处理。注释可出现在程序中的任何位置,因此注释不会对程序产生任何影响。

3)在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待

调试结束后再去掉注释符。

C++注释代码的方式一共有两种:一种注释符是以“/*”开头并以“*/”结尾的串,在“/*”和“*/”之间的即为注释。另一种注释符是在注释语句前加”//”。 其中,“/*....*/”为多行注释符,“//”为单行注释符。

3.各代码段的输出结果如下: a.) 36

b.) \

Gandalf! c.)2and1

4.a.)析取运算符是>>,输出运算符是<<,而该代码段将cin的析取运算符写错,所以该代码段应改为: string word;

cout << \cin >> word;

b.)该语句作用是在显示屏幕上显示Two plus two is 4,若有多条数据要输出时可以用多个‘<<’区分开,并在插入运算符<<和<<之间的数据应该都包含在双引号中。因此该语句应改成: cout<<”Two plus two is”<<2+2;

c.)if语句首先求出条件的值,若为真就执行后面与它邻近的语句,该语句以分号结尾或是包含在大括号中的复合语句。所以该代码段应该改为: if ( x = 1 ) cout << x;

d.)C++的逻辑运算符一般有&&、||和!,该程序段用or不正确,该代码段应该改为:

if ( x = 1|| 2 ) cout << x;

e.)该程序段错将输出语句放在循环语句中,将导致输出10条结果,最后一条才是正确的。所以该代码段应改为: int N = 10;

int factorial = 1; while ( N >= 1 ) {

factorial = factorial * N; N--; }

cout << \

5.由于程序没有为total变量赋初值,并且total变量存放的是两个第一个输入的数值的和,所以导致最终结果出现错误。 第4行改为:int total=0; 第12行改为:total=total+b; 6.

#include using namespace std; void main ( ) { int a; int p=1;

cout<<\cin>>a;

while(a>=0){ p=p*a;

cout<<\cin>>a; }

cout<<\product of all your positive numbers is \} 7.

#include #include using namespace std; void main() {

char line[100]; char word[20];

int i, j, num1, num2, count; cout<<\cin>>word;

cout<<\char c;

getchar(c); gets(line);

i=j = count = 0;

num1 = strlen(line); num2 = strlen(word); while(i!=num1) {

while(line[i]==word[j]) { i++; j++;

if(j==num2) //(num2-1)