软件工程实践第三次作业——结对作业(一)

Link:

 原型模型设计工具:墨刀。(在学长的推荐下发现有这一款十分好用的原型模型设计工具呢。^_^.)

 小伙伴链接:http://www.cnblogs.com/mingsonic/p/9683453.html 

  原型链接:(如果小樱同学看不懂下面Model PIctures这一部分的解释的话,可以尝试点击后面这个链接,可以自己试一下这款app大概是怎样的结构噢~O(∩_∩)O~)  https://modao.cc/app/QI7JghX5xX4xYvURiGTknu1InsS4J0R#screen=sB34D6855CD1537010429891

 

Photo of Discussion:

     

          利用下课时间抓紧时间讨论,以及制作原型!(O(∩_∩)O~~)

Book Report:

        第三章:

               正如管理学大师彼得·德鲁克的忠告所言:“Those entrepreneurs who start out with the idea that they’ll make it big - and in a hurry - can be guaranteed failure.” 

               解决大问题固然让人感觉美妙,但是把小问题真正解决好,也十分不容易。作为一个软件工程师,不仅需要严格的对自己把关,不断地学习、完善自身的知识和能力、对自身的发展有一个明朗的认知、对自身能力有一个科学的认知,而且更应该学会如何融入团体,这一点是完成一个成功的软件必须的重要前提条件,一味的追寻待在自身所认为的“舒适区”,不愿意融入集体,所得来的后果往往是致命的,对于软件的研发而言是有害的,对于自身的职业发展也是不利的!知道作为一个软件工程师应该学些什么、怎么去学,以及自身的核心竞争力是什么也是十分重要的(vital!!)

         第八章:

               这一章节,令我感受最深的便是NABCD模型啦!当我们接手一个项目时,我们可以按照此模型,依次的列出我们的想法,从而能够十分科学地去说服客户,同时也能够做到有理有据,能够让客户理解我们的初步策划,十分的直观和高效!能够展现给客户我们十分有条理,会显得我们十分的专业!(嘻嘻~)但是,更关键的是,使用NABCD模型,能让我们“赢在起跑线上”,能够走对项目的第一步,倘若我们一开始就没有较为清晰的理解用户的需求,并且能够和客户有一定的交互,那么我们就开对了头!试问,如果我们一开始连方向都弄错了,那么我们将会浪费更多的时间,也就会拉低整体团队的效率,会做许多的无用功,得不偿失!尽管一开始我们花费了一定量的时间去与客户交流,去了解项目的具体信息,那么我们并不是在浪费时间,相反,我们更是在提高我们的效率!

                 

NABCD Model :

 

Need(需求)——客户需求是什么?
     *.简化流程,方便使用:
            用户希望可以让通过论文列表找出热词或热门领域更加容易,同时操作简单。
    *.快速查找原文。
           用户希望可以通过论文名称、编号等论文相关信息查找出原文(即可以通过原文链接查看原文。)及其论文的相关信息。
    *.分析可视化。
           用户希望能通过图表将诸如:热词、热门领域和对各校论文录用的情况以及各校更注重地领域十分清晰的表示出来。
    *.论文数据分析。
           用户希望能够对用户给定的论文列表进行分析,分析出热词或热门领域。同时可以根据对多年间、不同顶会的热词进行对比。
    *.用户可给定论文列表
          通过论文列表,爬取论文的题目、摘要、原文链接。
          可对论文列表进行增删改操作(今年、近两年、近三年)。
    *.对爬取的信息(即论文列表)进行结构化处理,分析top10个热门领域或热门研究方向
          可对论文属性(oral、spotlight、poster)进行筛选及分析。
          形成如热词图谱之类直观的查看方式。
    *.可进行论文检索,当用户输入论文编号、题目、作者等基本信息,分析返回相关的paper、source code、homepage等信息
    *.可对多年间、不同顶会的热词呈现热度走势对比(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内)
    *.可进行数据统计,例如每个国家录用文章的分析、每个学校录用文章的分析、哪个学校哪方面的研究方向比较强等


Approach(方法)——要满足这种需求,我们能够提出什么独特的方法吗?
       为了满足这些需求,我们制定了一款APP,用于帮助用户快速的选取论文原文,以及快速的找出论文列表里的热词,从而使得用户能更加高效、方便地了解热门领域的动态。


Benifits(收益)——该方法给顾客提供的便利是什么?
  主要有以下一些便利:
    *. 简化用户对于所需的查询论文的流程,将论文原文链接十分方便地提供给用户。
    *. 便于用户进行管理,方便用户对论文列表进行增删改查。
    *. 减少用户分析热门领域、论文热词的时间。
    *. 利于用户了解所提供的论文的整体走向。

Competition(竞争)——对于竞争对手和其他可选择的方案来说,优势在哪里?
    *. 易上手,使用方便:
         我们设计的APP对新用户十分友好,操作简洁明了,从而能使得用户极易上手。
    *. 便于管理:
         由于是使用APP的形式,因此用户可以直接通过手机来进行相关的操作,同时简明的分块和界面也使得管理起来更加的容易。

    *. 界面精美:

          我们参考了许多app的界面,并使用许多设计来美化我们的界面。

    *. 功能丰富:
          除了用户相关的需求之外,我们还适当地加入了一些人性化的功能,提高了APP的可用性。

Delivery(推广)——如何把产品交到用户手中?
         由于是小樱的需求,因此我们可以直接交给小樱。但是由于出现了小樱的需求,我们不禁可以联想到,我们将会拥有一些潜在的客户,因此我们可以通过宣传:在学校里开讲座进行宣讲;分发传单;微信、空间、微博、h5、贴吧等一系列平台进行推广;邀请使用者分享给身边的人也是一种好方法。

 

 Model Pictures:

主页面:包含论文批量导入(通过文本文档文件),单个导入(输入论文题目)

    查看已导入的论文以及本地论文检索。如下图

 

分析页面:包含对导入论文的属性分析,热门领域及热词分析以及相关数据统计。

 

 

 

 

 

我的页面:包含系统设置,我的收藏,清空缓存,帮助文档(其中主要功能是我的收藏)

 

我的收藏:

 

 

 

通过论文检索或者查看本地论文可以对论文进行Mark(右上角),被Mark的论文将会出现在我的收藏中,此外也可以对论文进行评论(可以多条),同时,也可以在论文详细页面进行Remove操作,对当前论文进行移除。

 PSP Table:

 

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning 计划  20    30
· Estimate · 估计这个任务需要多少时间  10  5
Development 开发  600  800
· Analysis · 需求分析 (包括学习新技术)  120 200 
· Design Spec · 生成设计文档  50 30 
· Design Review · 设计复审 20  10 
· Coding Standard · 代码规范 (为目前的开发制定合适的规范)  0
· Design · 具体设计 120  150 
· Coding · 具体编码  0
· Code Review · 代码复审
· Test · 测试(自我测试,修改代码,提交修改)  120 60 
Reporting 报告  120 150 
· Test Repor · 测试报告 20  10 
· Size Measurement · 计算工作量  10 20 
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 20  30 
  合计  1210 1495 
  • 学习记录表
第N周新增代码(行)累计代码(行)本周学习耗时(小时)累计学习耗时(小时)重要成长
1 500 500 15 15 学习VS2017,GitHub使用,复习C++相关知识
2 500 1000 20 35 阅读《构建之法》,从零开始学习Java语言
3 1000 2000 15 50 阅读《构建之法》,学习Java,学习墨刀等工具使用
 

Experience:

       困难:

                     ①最初看到这个结对题目的时候,我和小伙伴都一头雾水,(just be like (๑°ㅁ°๑)ᵎᵎᵎ),完全搞不清楚题目想要表达的意思,不过好在后面我们慢慢地剖析题目才渐渐有从下手,进过我们的交流讨论,也逐渐地整理出一套方案。

                     ②在设计的同时,我们还担心我们的设计是否在后期具有可行性,以我们的能力是否能够将它实现。

                     ③由于我和小伙伴之前都没有过做APP这类项目的经验,因此,我们也不得不去学习一些制作APP的方法,以及学习制作原型设计的方法。

         收获:

                      ①我和小伙伴都学到了很多课内外的知识,如:Android Studio 的部分内容、Java基础、原型设计工具的使用(如:墨刀)、NABCD模型。

                      ②了解了制作软件的大体步骤,以及如何去挖掘用户的需求。

                      ③懂得了如何去深入地构思,如何去分配我们的工作时间。

                      ④最重要的是,我们更加懂得该如何去融入一个小集体,如何去配合对方,如何协助对方进行高效、稳定的工作。

Appendix:

            (PDF附件)

              https://files.cnblogs.com/files/littlenorthwest/%E9%99%84%E4%BB%B6.pdf

 

posted @ 2018-09-20 18:11  小西北丶  阅读(206)  评论(0编辑  收藏  举报