软件工程第一次作业
一:小学生四则运算的小程序:
https://git.coding.net/dyangguang/yangguang.git
说明:该程序完成了小学的简单加减乘除以及一阶的混合运算(其中还包括真分数的计算)。可以自己选择难度,选择难度不同随机生成的数据范围会大些。游戏模式分为5个模式,分别为:加法运算,减法运算,乘法运算,除法运算,一阶混合运算,可以根据自己的那方面的不足进行针对性的练习。每次将会有十道题,每道题目为10分,总分100分,答对加10分,打错不得分。本程序可以多次进入游戏(1:继续进行游戏;2:退出游戏)。游戏的运行的结果如下。
二:在一周之内,快速看<<完构建之法>>教材,列出你不懂的5-10个问题。
1:作为一个程序员,对于一个可以用多种语言进行解题的软件,如何更好的选择语言?
我看了第一章的一个例子阿超为宝贝儿子做一个加减法的题目的一个小程序时所引发的问题,由于这一个简单的程序可以用多种语言写。比如说:C,C++,JAVA,PATHON等等。如何更好的选择语言引发了我的思考。
我在网上搜索了一些资料,由于个人专业缘故,我一直在寻找最好的工具。大家都知道,由于在软件多种多样的原因,我们在开发过程中,需要选择各式各样的程序语言进行工作。也正因如此,我经常被软件开发的初学者问及:“究竟应该学习哪种语言?”。但是当我反问他们想要做些什么的时候,他们却变得一脸茫然。原来这些人一直认为,一种最佳语言可以解决所有的问题。网络上推荐了几个比较广泛的几种语言。企业软件开发-JAVA作为此领域的领头羊;WEB构架开发-python语言;window开发-C#语言等等。我
2:在一个团队中,如何更好的建立适合的和拥有自己团队所拥有的编程规则?
我看了第四章的内容所想到的问题。在一个团队中,各个成员擅长的编程语言不同,编程的习惯不一样。如何更好的建立和拥有自己团队所拥有的编程规则?激发了我的思考。书本上说:计算机只是关心编译生成的机器码,你的程序采用的那种缩进习惯,变量名的有无统一的规范等,与机器码的执行无关。但是,做一个有商业价值的项目,或者在团队里工作,代码的规范尤为重要。一些好的团队规则往往会决定一个团队成功与否。
3:C#的不太了解。
课本上第二章讲了很多的C#的例子,完全看不懂。
4:当一个团队接收到任务时,如何更好的管理时间和为团队成员分配阶段的工作时间呢?
我看到第六章所引发的问题。时间的管理尤为重要。对于一个长期的项目来说。一旦时间安排的不妥当,将会引起重大的问题。比如没有按期完成,或者说超出了预定时间很多天。甚至有些程序只需要20%的时间,却用了80%的时间。这样会造成经济上的重大损失。分配工作可以根据团队成员的能力的范畴进行分配。但对一些难的部分较多的时候,又怎样分配呢?
5:在一个团队中的一个测试人员到底有多么的重要?
我看了第13章的内容所引发的问题。我一直认为测试人员很轻松,但是事实并不是如此。看课本上所说,测试分为功能测试和非功能测试。非功能测试包括压力测试,效能测试,可访问性测试等等看起来非常的复杂,那到底测试人员有多么的重要呢?
资料上说,测试人员就像辩论队的四辩,他起到总结的作用,有着让程序起死回生的作用。测试过程中会发现很多的错误和不足,找到之后让其他成员进行完善工作。使的这个软件更加的安全,实用性能更高。因此测试人员是团队中不可或缺的一个角色。
6:如何更好的学习软工课程?
这是我看完这本书的疑惑。
在网上搜索到的资料得到:尽量让自己多了解一些现实中的软件开发过程,或者参与到一些简单的软件开发中,了解人们的方法与问题后,再与软件工程中的理论相比较,你就会有意想不到的收获!软件工程的更高层次,会和其它管理学科一亲友,回归到哲学和人性本身上面来。不过这个高度需要时间和实践的。总之来说就是融于实践,组建团队进行小软件开发,从中得到更深的了解。
三:软件有很多种分类,下面将介绍几种关于手机应用(Moblie APPs),游戏(Games),工具软件(Tools)分析他们特点。
1:手机应用(微信):
微信作为一款即时通讯工具,微信有交流,互动,私密,服务等功能,在短短两年内逐步发展为具有众多功能的社交平台,如今已超过3亿用户,不得不看到微信所蕴含的无穷潜力。作为一款定位于移动端的移动通讯软件,微信具诸多特点,因此微信有可能会成为中国互联网第一大应用。
微信是怎么说服你成为他们的用户的?
1:用户操作简单,连一些老人都能便利的使用。
2:微信占手机的内存较低。
3:运行时消耗流量很少。
4:界面简洁,美观。
5:易于交流。
他们的目标都是盈利什么?他们的目标都是赚取用户的现金吗?好有别的?
1:微信的话主要为了赚取利益为主,由于市场的竞争压力巨大,很多软件都相继淘汰。因此无论是什么软件,主要目的就是为了赚钱和用户的信任。
2:为人民的生活带来了极大的方便,服务于人民。
微信是如何到你手上的?当你上几年级的时候?你对这个软件的感觉如何?
当我上高二的时候,微信软件是我刚买手机从官方下载得到的。我感觉微信操作简单,像对话机一样可以快速的交流,消耗流量少,满足了很多软件的不足,是以很好用的一个软件。
微信是如何处理Bug的?又如何更新版本的?
如果微信出现BUG,点击时会出现BUG错误的图标,通过修复BUG进行更新版本。也可以根据用户提出的建议进行修改或者修改其他功能来更新版本。
2:游戏(英雄联盟):
英雄联盟是怎么说服你成为他们的用户的?
英雄联盟的游戏中
1:可以体验到畅快淋漓的,酷炫的5vs5的战斗界面。
2:面对新朋友可以迅速找到爱好共同点并相互熟悉,也就是说可以更多的交到朋友。
3:更方便的社交工具,英雄联盟中不仅仅有强大的语音系统,还可以在游戏里的直播中发送弹幕。
4:英雄联盟也算是一款智力型的游戏,玩家可以在游戏里面学到两句歇后语:1:团结就是力量;2:细节决定成败。
5:安全系统足够强大,特别是防外挂系统。
英雄联盟的目标都是盈利什么?他们的目标都是赚取用户的现金吗?好有别的?
1:最重要的当然赚钱。
2:赢取广大玩家对英雄联盟的开发商的信任,可以为以后他们开发游戏提供有力的帮助和支持,以谋求更加长远的利益。
3:给人们一种娱乐,放松的方式,体验一种现实生活中没有的战斗场面。
4:给用培养团队协作的意识和能力。玩家常常用来开玩笑说的一句话是:不怕神一样的对手,就怕猪一样的队友。可见团队协作的重要性。
5:一场英雄联盟的比赛中,一个细节可以扭转整个战局,可以让用户学习到细节决定成败的重要性。
英雄联盟是如何到你手上的?当你上几年级的时候?你对这个软件的感觉如何?
当我上初一的时候,通过朋友同学推荐到英雄联盟官方网页上下载正版获得。英雄联盟是一款格斗性的游戏,简称LOL,可以体检多种职业:如法师,战士,刺客等等,他同时也是一款团队协作的游戏,在LOL中最经常的一句话是:不怕神一样的对手,就怕猪一样的队友。由此可见团队协作的重要性,有时战斗中一点点的细节就有可能扭转战局。我感觉可以从英雄联盟这个游戏学习到两句歇后语:团结的力量是强大的;细节决定成败。同时我也能感受到游戏给我带来的快乐和畅爽。
这些软件是如何处理Bug的?又如何更新版本的?
英雄联盟这个游戏主要是通过玩家提出的BUG来进行修改,比如说一个英雄联盟的角色的技能太强,或者有什么卡BUG的问题等等。但是LOL具体BUG的修改不知道,这是内部的事情。更新版本的话,主要根据玩家提出的建议,来增加新的功能,从而来更新版本。
3:工具软件(python):
python是怎么说服你成为他们的用户的?
1:简单易学,主要是开发快,语言简洁,没那么多技巧,所以读起来很清楚容易。
2:可以给编程的初学者用来学习。
3:python编译器免费,开源。
4:拥有丰富的库,往往C++100行代码,在python中只需要十几行代码就可以解决。
5:具有可移植性,在不同的操作系统下都可以运行。
他们的目标都是盈利什么?他们的目标都是赚取用户的现金吗?好有别的?
1:用来帮助编程的初学者学习。
2:获取用户的信任,能在其他语言中站得住脚。
3:提高了现代计算机语言的发展。
4:再提供一种用户开发软件的平台。
这些软件是如何到你手上的?当你上几年级的时候?你对这个软件的感觉如何?
当我上大学的时候,通过到网页上下载可以得到或者通过在老师拷贝得到。python语言又称蟒蛇,图标有2条不同颜色的蛇组成,在1989年创造出来的,至今有30多年的历史。我感觉工具软件功能强大,对我学习编程语言提供了入门的帮助,图形化界面也比较简单。
这些软件是如何处理Bug的?又如何更新版本的?
如果有Bug,会出现编译错误,可以通过自己解决。通过官方对漏洞的修复,进行更新版本。至今已经更新到3.62版本