软工实践——第一次结队作业

1、结队成员

    031502314—柯豪燊、031502306—陈晓凯

2、需求分析(NABCD模型)

N:需求

  • 需求客户来自大学新生和部门:
    • 简历互选阶段:学生和部门之间的双向选择方式太过于陈旧繁琐,学长学姐辛苦跑腿和解说,学生们也每天都要面对很多部门的上门安利哪怕是自己毫无兴趣的也要有礼貌的迎来送往,确实麻烦,而且信息也不全面,难以选到适合自己的部门,所以需要一个app可以节省大家的时间与精力。对于学生们而言可以在app上面细致的了解每个部门的面试时间(若面试时间和活动时间冲突部门简介需要额外说明)、纳新人数等细节,并且在每个部门的栏目页都可以看到附上了这个部门上几届的成果展览+带队学姐学长的照片+联系方式,然后在信息全面的情况下选择简历投向哪里;对于部门来说,他们只需要将自己的介绍做得真实、丰富而且花里胡哨可以吸引人就ok,剩下的就是慢慢筛选简历,向合适的同学发出面试邀请;
    • 面试淘汰阶段:所选部门的时间不冲突+部门不超过五个+通过面试的同学可以直接进入部门享受快乐的大学生活,但是如果常规活动请假次数超过6次就会被淘汰。
    • 目前没有人做这个app,所以这是一个全新的市场,需求量不小。

A:做法

  • App界面采用简约漂亮的风格更适合年轻人的喜好。
  • 学生和部门两种方式登陆:
    • 学生:学号登陆。登录之后可以编辑简历、查看部门概况、投出简历、查看部门人气值(每个部门所收简历数)、接收部门的询问消息、面试邀请
    • 部门:部长或副部可以登录,登录之后可以编辑“部门风采展”“纳新信息”,可以查看收到的简历,并且向同学发出消息以及面试邀请,面试过后统计每个部员的请假次数,达到预置次数自动删除
    • Ps: 这些在模型中会有详细描述

B:好处

  • 可以给双方在互选和管理阶段都带来很多方便节约时间和精力
  • 学生更可能选到适合的部门,部门更可能选到需要的部员
  • 一个收集部门发展期间精彩回忆的地方
  • 并不占用多大内存

C:竞争

  • 用户的需求基本可以满足
  • 优势:该有的功能都有,不做没用的功能,节约开发时间,从而更早推出产品、占领市场
  • 劣势:简约风格也许不能满足所有人的喜好

D:推广

  • 向教务处网站申请广告资源
  • 开学期间做公关活动:“扫码下载安装即送华丽开学大礼包”等等
  • 在校园内张贴海报
  • 发传单

3、原型系统介绍

### 工具:墨刀

登陆界面 注册界面:在登陆界面点击注册后进入

1227185-20170922210957665-2013885713.png1227185-20170922211030978-1931395694.png

学生登陆后的界面——点击个人信息

1227185-20170922211105368-1457906809.png1227185-20170922211154696-97448992.png

点击我的部门——点击加入的部门,这里会显示部门最近的安排和任务

1227185-20170922211240275-1061413351.png1227185-20170922211318556-343014706.png

往后还可以提供活动签到、任务完成的按钮

1227185-20170922211422165-1417093143.png1227185-20170922212120290-2010861291.png

在我的部门里点击查看所有部门

1227185-20170922211524400-1162096990.png

选择之后出现

1227185-20170922211615025-2062875841.png1227185-20170922211627337-556083397.png

选择其中一个部门:会有四个界面的部门介绍,在右下角可加入该部门

1227185-20170922211704259-2086163022.png1227185-20170922211716259-735415599.png1227185-20170922211731150-1315269842.png1227185-20170922211747243-757053304.png

申请加入可能出现的情况:

1227185-20170922211859728-1025149880.png1227185-20170922211908353-1992335715.png1227185-20170922211917806-1190620431.png

而后可在我的部门,申请加入的部门里查看:

1227185-20170922212015353-94909482.png1227185-20170922212027556-1033559644.png

部门登陆(部门管理者登陆)

1227185-20170922212203696-365763473.png

点击部门管理:有三个管理选项

1227185-20170922212535743-500172029.png

点击出勤管理:有三个选项

1227185-20170922212636275-1321600189.png1227185-20170922212748181-379663092.png

在出勤详情里可以选择之前的开会日期来查看之前的出勤情况

1227185-20170922212833118-1949282057.png1227185-20170922212844462-316477379.png

在部门管理里点击部员任务可以发布任务和查看部员任务完成情况

1227185-20170922212924368-12364328.png1227185-20170922212935478-1263162128.png

同样可以查看部员审核情况

1227185-20170922212924368-12364328.png1227185-20170922213001540-995793108.png

在部门登陆的初始界面可以选择部门展示进行编辑

1227185-20170922213105431-610811313.png1227185-20170922213140321-241384070.png

一共有四个可编辑的界面

1227185-20170922213201509-1656729362.png1227185-20170922213250415-1223246203.png1227185-20170922213300837-770787824.png1227185-20170922213312212-945210316.png

这四个界面与学生登陆界面里的查看部门界面类似,因此可以在一定程度上通用

4、psp表格:

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划100120
· Estimate· 估计这个任务需要多少时间120120
Development开发300400
· Analysis· 需求分析 (包括学习新技术)60100
· Design Spec· 生成设计文档2030
· Design Review· 设计复审 (和同事审核设计文档)105
· Coding Standard· 代码规范 (为目前的开发制定合适的规范)515
· Design· 具体设计2010
· Coding· 具体编码1020
· Code Review· 代码复审1010
· Test· 测试(自我测试,修改代码,提交修改)2010
Reporting报告1010
· Test Report· 测试报告55
· Size Measurement· 计算工作量1010
· Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划105
合计700860

5、结队过程

    这次的结队过程也是刻骨铭心,一开始两个人都有各自的想法,在没有沟通好的情况下就开始动作做节目,导致做了许多无用功和要做大量的修改,后来经过了激烈的讨论并在deadline的逼压下终于达成一致,就像栋哥说的在编码阶段才修改的成本是很大的,以后要充分地沟通再进行下一步,稍微学习一下瀑布模型。

1227185-20170927001918544-1356474587.jpg1227185-20170927002007215-827951915.jpg

6、心得体会

    这次的结对作业任务是比较有趣的,和小豪大哥不断地交流意见、改进设计的过程也很interesting!通过这次的合作,我要给出一个结论:1+1>2。通过阅读邹欣老师的《构建之法》,我了解了很多关于软件开发的知识和需要的态度,NABCD模型对于客户的需求以及开发软件如何去满足这种需求都进行了细致的分析。以往,关于软件的印象不过停留在自己关上门敲的那几行小代码上面,这次用墨刀工具做出来了和我手机界面类似的画面,这让我有了一种打开新世界大门的感受,离真正的软件工程,真正的做出项目,越来越近了,很期待接下来的团队作业!——031502306晓凯
    这是第一次的结对作业,也是我第一次接触墨刀这个软件。这次的作业虽然磕磕绊绊,但是总的来说还是完成得蛮愉快的,首先在墨刀这个软件上可以随心所欲,一把组件拖到画布上就能马上运行看到成果,虽然一行代码没打,但是感觉就像是自己已经做出了一款APP,运行起来,点击按钮,页面之间的跳转还是很有趣的,虽说并没有多大的工作量,成果也有点简陋,但是还是很有成就感。和晓凯的合作过程也是越来越有默契,这将是一次宝贵的经验,让我更好地适应多人合作做一个东西,为以后的团队合作点明了方向。——031502314柯豪燊




-![](http://images2017.cnblogs.com/blog/1227185/201709/1227185-20170927001925559-493666626.jpg)
posted on 2017-09-22 21:54 duye 阅读( ...) 评论( ...) 编辑 收藏

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

余额充值