软件工程网络15个人作业三——案例分析

题目要求:

很多同学有误解:

软件工程课是否就是理论课?
或者是几个牛人拼命写代码,其他人打酱油的课?
要不然就是学习一个程序语言,搞一个职业培训的课?
都不对!软件工程有理论,有实践,更重要的是分析,思辨,总结。在课程中,自己组织团队写一个软件,然后分析,这样能根据切身体会来分析,很有价值,但也有可能“身在此山中”,未能看清全局。而且,课程时间有限,我们也不能做很多具体的项目。因此,我们也需要从间接经验中学习,分析。别人的项目的成败同样能够给我们很多启发!

我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、QQ,等等都是软件,都很值得分析。

你为何成为它们的用户?
它们的团队做对了什么,做错了什么?
如果你来做,会做得更好么?
通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。

第一部分:调研, 评测

1.下载并使用,描述最简单直观的个人第一次上手体验。按照《构建之法》13.1节描述的 bug 定义, 找出几个功能性的比较严重的 bug,至少2个。用专业的语言描述 (每个bug 不少于 40字),如有必要, 可以配图。
第一次上手是刚被录取的集大的时候,录取大礼包里面让下集大通,第一次用的时候感觉还很新颖,像微博一样有动态,可以关注,还可以互粉什么的,而且感觉像进入了一个大家庭一样,而且还没到学校就知道我的同学有那些人了,也可以在里面聊天,确实很方便。
1109836-20180331193757658-1066528937.png 1109836-20180331195412580-1263925217.png
BUG1
症状:签到抽奖系统算法太小气,而且签到的按钮太大
例子:从下载集大通开始,陆陆续续的签到了很多次,每次可以抽奖了就会点进去抽奖,抽奖转盘上有一圈的礼品,但是我从来没有中过除了鲜花之外的其他东西。如果我不想签到,签到按钮又非常大,影响我浏览其他内容。
1109836-20180331195611285-565483965.png 1109836-20180331195704296-834681528.png 1109836-20180331200007409-820800937.png
BUG2
症状:突然而且过时的消息推送
例子:星期三晚上九点多的时候,系统突然给我发了一条消息,“毛卓,为你播报明天的课程安排:“,我一看就惊了,明天又是满课,然后仔细一看才发现这课是我星期一的课。。。
1109836-20180331200745747-541565916.png
2.相信每个同学的朋友中一定有人需要用这样的软件, 选择一个朋友(用户)进行采访,并加以记载。
1.介绍采访对象的背景和需求(他们为何要使用该软件,例如开博客,读博客,给博客点评,她有什么痛点,她还有别的需求么),让采访对象使用10 – 30 分钟该APP的功能(请上传照片证明用户的确正在使用, 远程采访的同学请让别人帮忙照相)
采访对象:某高校计算机学院大三 学生
需求:集大通推送提醒明日课程
痛点:等到集大通推送来消息,我们已经毕业了
1109836-20180401084134194-626508162.jpg
2.描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
没有,查课表什么的还挺方便的,查成绩看起来吃力,一会这个学期跳出来一会成绩排序不一样,不够规范,消息从来不及时    
数据量还挺大,有全校同学的微博,还有学校高层的消息;界面是最大的问题,像“课余生活”界面好像从来都没有变过,然后排版什么的基本是看不下去的;功能方面比较全面,有电力查询,失物招领,网费充值都有;准确度比较高,没有出现过成绩或者课表报错的情况。
1109836-20180331203327089-1706592552.png 1109836-20180331203657053-1735843950.png
3.用户对产品有什么改进意见?
请选择一个结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价:   
评价只能是一般吧,但从它对我们平时校园生活的方便性来说,真的不是很推荐,内容基本不更新(除了用户的微博动态),而且软件更新也做的很差,三年前软件是什么样现在还是什么样,我们一般用集大通主要是为了方便离开学校后查成绩或者平时查课表。

第二部分:分析

1.使用此软件的所有功能 , 估计这个项目做到这个程度大约需要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)。
集大通里应用中心的应用大概有三四十个,然后要做到学校的消息推送,客服推送,班级管理,微博管理等功能,大概需要六个月的时间。
2.不要写成一个罗列功能的流水单子! 而是要集中火力在一个场景,这个场景中典型用户有什么需求,软件如何解决了需求(或者没解决),UX 有什么细节是好的,差的,请结合书上UX的内容来分析。
当我上了一天的课然后去餐厅吃饭,整个学校都挤满了人,然后我的饭卡没有钱了,这时候每个校园圈存机都挤满了人或者圈存机都坏了,这时候我就需要通过集大通充值校园卡。
典型用户:饿的发抖的大学生
用户需求:网上校园卡充值
3.你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?从下面的可能性中选取几个:
    具体的设计质量不高
    开发人员粗心大意
4.团队在哪一个层次还有问题? 可以把自己想问软件团队的问题都列出来, 也许就能得到团队的亲自解答了!
用户聊天界面中双方发送的信息条目有时候会错乱,或者消失,也没有聊天记录的存储系统;
希望软件团队不要在把集大通向所谓“人性化”方面发展了,比如这两年做出来的“暗恋”系统,软件其他方面的基本功能都没有优化;
5.从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面 (具体建议)。
把软件的优化方向确定好,多推送一些学校的大事件,还有各个学院的成绩状况,考研考公工作之类的。

第三部分:建议和规划

(参考《构建之法》第8章功能的定位和优先级;第9章项目经理)

1.这个软件/网站/服务有很多可以提高的部分, 如果你是项目经理,如何提高从而在竞争中胜出?
    我会把软件做的更加像官网一样,条理清晰,内容简洁些,然后最主要要让界面看上去更加“好看”,这是最基本的,如果几面太繁琐或者太抽象,再好的软件我都不想多打开一次,软件的功能一定要优化而且定期维护,并且我会开通意见箱服务,接受用户的意见。
1109836-20180331211622375-109497654.png
2.目前市场上有什么样的产品了?
我觉得完全可以参考考研帮这样的软件,每年你选定的院校都会及时的推送消息,像每年的报录比,招生简章,专业目录都非常准确而且排版非常好。
1109836-20180331212249520-987665609.png 1109836-20180331212252915-1569463282.png
3.作为新的项目经理,这个产品的核心用户群是什么样的人, 典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
核心用户群是当代大学生,学历为本科或者研究生博士,年龄18岁以上,爱好不定,收入不定,潜在需求:更加方便我们在学校的日常生活。
4.功能:你要设计什么样的功能? 为何要做这个功能,而不是其他功能? 为什么用户会用你的产品/功能? 你的创新在哪里? 可以用 NABCD 分析(http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html).
1) N (Need 需求)
 我觉得用户最大的需求不是搞什么暗恋系统,发微博之类的,而是提供更多的发展方向,也可以提供一些优秀学长学姐的经验,如何让大学生活更加充实,支持学术讨论,介绍学校文化,学校的发展,老师信息。
2) A (Approach 做法)
设计一个交流平台,有一些优秀的老师在里面,然后同学们可以在里面讨论问题,交流经验。
3) B (Benefit 好处)
对于学生交流有很大的好处,也可以帮助处于迷茫期的同学,提供经验可以让同学更加适应大学生活,找到适合自己的发展方向,是提高自己的工作能力,还是考研或者考公,对于这些都会有很大的和帮助。
4) C (Competitors 竞争)
集大通本身没什么竞争,也许这也是该软件团队没有优化软件的原因之一吧。但是做好软件是最基本的,集大通是我们学校的专用软件,最起码不要让自己学校的同学都没人用吧。
5) D (Delivery 交付)
软件优化了,功能更加强大了,软件的使用自然就多了。
5.如果你有钱可以招聘 6 个人, 有 4 个月的时间, 你作为项目经理, 应该如何配置角色 (开发, 测试,美工等等)?
人数较少,刚开始肯定要先做需求分析,设计规划等;之后分出大部分人来进行开发;到了中后期从开发人中抽出人来加入测试和美工团队;后期主要检查软件有哪些漏洞,然后修改,优化功能。
6.描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
3周:一起拟出和完善项目分析表,做出规划
5周:四个人开始软件开发,一个人来测试,一个人监督
5周:两个人继续开发,三个人来测试和改进,一个人监督
3周:开发基本结束,投放并试用软件,找出软件存在的BUG,修复并优化

转载于:https://www.cnblogs.com/mz201521044152/p/8683850.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值