个人第一次作业:阅读与思考

这个作业属于哪个课程 课程链接
这个作业要求在哪里 作业要求链接
我在这个课程的目标是 掌握软件工程这门课的核心知识点,对职业规划有清晰的认识,在完成该课程之后对未来学习历程有明确的方向

在 GitHub 可以做什么,用户又习惯做些什么? 参考文献 版本管理(一)之Git和GitHub的区别(优点和缺点) 参考文献 GitHub、Bitbucket、Google Code 各有哪些优缺点?


1.关于我

  • 我是来自计科1801的陈纪龙,叫这个名字是因为有个双胞胎哥哥叫陈世龙^_^

  • 博客园博客地址: https://www.cnblogs.com/FourtyTwo/

  • 个人优点大概是自控与自学能力较强,对感兴趣的事物有着强烈的好奇心与求知欲

  • 平常喜欢跑步和乒乓球

  • 大一的一学年里通过自学倒也学了不少东西,但大多都不是很精通/(ㄒoㄒ)/~~,新的一学年争取把之前落下的东西补回来,把学的不扎实的东西再巩固一下

  • 之前通过Hexo+Github搭建了个人博客,以记录学习过程中遇到的各种问题,但已经停更挺长时间了〒▽〒,也希望借此机会能够督促自己,多多记录自己的学习历程(ง •_•)ง
    (==>My blog)


2.阅读与思考

阅读以上材料,并回答下面几个问题:

(1)回想一下你初入大学时对你所在专业的畅想

  • 当初你是如何做出选择你所在专业的决定的?

    其实在高中对计算机相关专业的认知并不是很清晰,在选择志愿前也是通过知乎了解到计算机相关专业就业率与薪酬都比较高,并且自以为自学能力与独自解决问题的能力尚可,最终将计算机科学与技术专业排在了第一志愿。

  • 你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?

    符合期待。过去一年学校开设了C语言与数据结构这两门专业课程,因为程序=算法+数据结构,所以作为一名程序员,重中之重便是对于数据结构的学习,而要学好这门课又需要C语言作为支撑,对我们的学习与发展有较大的帮助。

  • 你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?

    既然主动选择了这个专业,当然是喜欢这个领域了,计算机行业只要有一台电脑,便有了无限的发展空间。但由于一入学便加入网络联盟,参加了几次CTF和AWD网络攻防赛, 所以目前最擅长的领域是渗透测试o((⊙﹏⊙))o,但我会努力做到全面发展,开发渗透两开花( ̄︶ ̄*))。

  • 将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因

    会,根据自己的能力与学习情况选择对应的工作。可能的话会在成都发展,公司和岗位目前还无法确定X_X。

(2)对照前人们走过的路和描述未来发展,现在的你

  • 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。

    目前通过自学掌握了Linux与SQL语句基础;可以自己鼓捣虚拟机,在kali-Linux上利用常见web前端后端漏洞进行渗透测试;此外还有些php和python基础,但不是特别熟练。代码量可能有个两千行?做过的最复杂的作业可能就是上学期程序设计综合实践课上做的推箱子小游戏,通过多维数组完成地图的创建,开始的图形界面通过网上查阅利用windows的一些命令实现。

  • 离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?

    目前熟练掌握的语言很少,并且不知道软件开发的具体流程,不了解如何通过团队协作来实现软件的开发;并且没有实际的软件开发经验,对未来的发展规划尚不清晰。

(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。

  • 对照以上你阅读的前人们的经历,你的选择是什么?

    如今本科生就业竞争十分激烈,加上父母的建议并且不让未来的自己后悔,我选择考研这一方向。

  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?

    考研需要比较好的自控能力,我的优势便是如此,能在无人监督的情况下时刻保持自律,合理制定并且比较好地完成学习计划;劣势可能就是脑袋不如别人灵光〒▽〒,需要用更多的时间来理解某一道题或某一事物,正因如此,我更要我加倍努力,付出更多的时间与精力(ง •_•)ง。

  • 针对你的选择,你给自己的大三设定的规划安排是什么?

    由于不想把考研战线拉的太长,我准备在大三下学期开始考研的复习工作,这样距离考研大概有九个月的时间,也避免了时间过短导致复习不充分的情况;每天至少八小时的学习时间,并且保证留有外出锻炼的时间,毕竟身体是革命的本钱,做到劳逸结合才能事半功倍。

  • 你对于实现自己的梦想已经做了或者计划做什么样的准备?

    目前做的准备就是当然就是做好作为学生的本职工作:认真对待所学的每一门课,并且在大一学年也取得了令自己满意的成绩,也相当于为考研夯实基础;未来还要进一步提升自己的专业技能,还要尽量克服社交恐惧/(ㄒoㄒ)/~~。


3.提有质量的问题

问题①:什么算是“足够好”?

  • 问题来源:

    教材第一章概论部分第17页提出要通过一定的软件流程,在预计的时间内发布“足够好”的软件,但究竟什么算是“足够好”呢?

  • 我的理解:

    关于“足够好”,这个定义本身就模棱两可,未能对软件发布的具体时机有个明确的阐述;况且“未完成的”也不一定就是差的,例如Valve公司旗下Steam平台开创的Early Access模式就开创了这一先河,开发者可以在开发流程尚未完成时就将软件发布在平台进行买断制售卖,这种模式不仅可以解决开发过程中可能出现的资金短缺问题,还可以将软件的雏形展示给用户,这样一来,开发者可以及时吸取用户的意见,优化开发流程与调整开发方向,将“更加好”的软件展示给客户。

问题②:如何对软件设计思想有深入的理解?

  • 问题来源:

    教材第三章谈到软件工程师的成长时提到了要对软件设计思想又深入的理解,但书中并未提出究竟如何才能对软件设计思想有深入的理解。

  • 我的理解:

    我认为要对软件设计有深入的理解最不可取的方法便是直接翻阅各种讲解软件设计思想的书籍,因为若缺乏基本的实践经验,不了解一个软件从策划到开发结束的具体流程,从书籍中直接获得的东西便都是过往云烟,到头来也只是纸上谈兵。我认为好的方法应该是先尽可能的去寻找实践机会,实在没有便自己创造机会,在一个个项目中便可以潜移默化的掌握很多软件设计思想。

问题③:PM的职能?

  • 问题来源:

    教材第九章集中讲解了有关PM的内容,并介绍了Program ManagerProject Manager的区别,但我对于Project Manager的职能产生了疑问

  • 我的理解:

    书中指出Program Manager就是负责具体的代码开发工作,和大家平等工作,对具体的软件开发流程有深入了解;Project Manager就相当于一个领导者,负责与客户交流,组织用户调查,书中后续又指出PM还要管理软件的生命周期,具体如设计、实现、测试、升级、迁移等工作,但这些工作对于不熟悉具体软件开发流程且没有直接参与软件开发的Program Manager又如何做到呢?

问题④:如何做好软件体验中的长期影响?

  • 问题来源:

    教材第十二章用户体验的要素中提到了“短期刺激”的弊端,但又如何做到用户在软件体验中的“长期影响”?

  • 我的理解:

    教材中写道短期刺激如冗余的动画和所谓手势操作会带给用户糟糕的体验,无异于画蛇添足;通过查阅资料,我了解到苹果公司在软件体验中的“长期体验”方面做的非常好:就APP启动时的过渡动画而言,Android在应用启动时的过渡动画大都只是从A到B的“位移”,或者干脆不做过渡动画。而IOS却在这个方面下足了心思,苹果很聪明的运用了很多非线性动画,这些动画在很大程度上会给你很流畅顺滑的感觉,并且将这些过渡动画之类的图形处理应用的优先层级调整的十分靠前,而Android则相反。注重细节,这便是IOS总是比Android流畅的原因,这便是IOS给用户的“长期体验”好的原因。

问题⑤:如何确定正确的设计负载?

  • 问题来源:

    教材十三章中的效能测试小节里提到要在一开始确定正确的设计负载。

  • 我的理解:

    由于缺乏实际的软件开发经验,我始终觉得确定正确的设计负载是件很困难的事。就比如在准备搭建个人博客时服务器的选择:对于刚开始写博文的小明来说,512mb的内存可能就够用了,但万一他的其中一篇博文突然成为“网络爆款”,博客访问量猛增,服务器这时便会不堪重负,若不及时采取补救措施,甚至会导致数据丢失;而若一开始就选择较大容量与内存的服务器,大概率出现浪费的情况,不仅如此,实际的软件开发中,设计负载还要让客户满意,所以“设计负载”究竟该如何确定呢?


4.了解和调查源程序版本管理工具

GitHub

- 优点- 托管代码- 托管编程环境- Github Pages 可以为项目建立静态主页(即gh-pages分支), 也可以建立命名特殊的- 生态环境较好- 用户群体基数大,知名库多
- 缺点- 私有项目收费较高- 连接不稳定

Git

- 优点- 适合分布式开发,强调个体- 公共服务器压力和数据量都不会太大- 速度快、灵活。- 任意两个开发者之间可以很容易的解决冲突- 离线工作
- 缺点- 学习周期相对而言比较长- 不符合常规思维- 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息

Bitbucket

- 优点- 支持Hg,最易学易用,同时也支持Git- 完全免费的闭源项目,还支持5人以内的合作开发- 支持中文
- 缺点- 用户数量限制- 用户基数小,生态环境不如GitHub完善

转载于:https://www.cnblogs.com/FourtyTwo/p/11502574.html

19秋软件工程基础第一次作业相关推荐

  1. 19秋计算机应用基础在线作业2,计算机应用基础19秋在线作业2 Windows 下能浏览并管理文件 驱动器及网络连接的强大工具是...

    1.Evaluation Warning: The document was created with Spire.Doc for .NET.计算机应用基础19秋在线作业21 单选题1 Windows ...

  2. 软件工程基础第一次作业:阅读与准备作业

    软件工程基础作业1:阅读与准备作业 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFounda ...

  3. 软件工程基础第一次作业

    课程名称 https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation 作业要求 https://edu.cn ...

  4. 计算机的构成有时也划分,计算机应用基础第一次作业答案

    计算机应用基础第一次作业答案 计算机应用基础4 1.在第一代计算机时代,编程采用______.B:机器语言和汇编语言 2.个人计算机即PC机,按其规模分类,应该属于______.A:微型计算机 3.下 ...

  5. 2018软件工程实践第一次作业

    2018软件工程实践第一次作业 1. 简单介绍 031602418:我是正在努力拯救发量的李翔:我的爱好是搜罗使头发乌黑浓密的方法:最推荐玫瑰一楼的乡村荷叶饭:有生发方法的小伙伴请联系我! 2. 阅读 ...

  6. 计算机应用基础I单选题,I12秋计算机应用基础14作业及答案.doc

    I12秋计算机应用基础14作业及答案 一.单选题(共?20?道试题,共?100?分.) V 1.??在Windows中,当一个窗口已经最大化后,下列叙述中错误的是 . A. 该窗口可以被关闭 B. 该 ...

  7. 福师计算机基础,福师计算机基础第一次作业.docx

    <福师计算机基础第一次作业.docx>由会员分享,提供在线免费全文阅读可下载,此文档格式为docx,更多相关<福师计算机基础第一次作业.docx>文档请在天天文库搜索. 1. ...

  8. 2018年秋计算机基础在线作业,《计算机应用基础》2017年的秋学期在线作业三.doc...

    <计算机应用基础>2017年的秋学期在线作业三.doc (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 ------ ...

  9. 软件工程课程第一次作业-3120005403

    目录 作业要求 一.评估当前的自己 1.1自我简介 1.2当前值 二.展望未来 2.1阅读<构建之法>,并阅读[构建之法社区](https://bbs.csdn.net/forums/So ...

最新文章

  1. 服务器用户没有读取权限,Windows找不到文件或没有读取权限怎么办
  2. 【Nginx】epoll事件驱动模块
  3. 3dmax做的模型导入U3d后 当模型靠近摄像机时镂空问题
  4. 一个快速、完善的Android开发框架整合实践(QuickAndroid)
  5. 学习笔记——os模块常见列表
  6. 成功解决object_detection/protos/*.proto: No such file or directory
  7. 跨服务器post数据失败:验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 machineKey 配置指定了相同的 validationKey 和验证算法。的解决办法
  8. [渝粤教育] 厦门大学 大数据技术原理与应用 参考 资料
  9. OpenShift 4 - 用 Operator 创建 Jenkins 环境
  10. IE10 访问 ASP.NET 站点的问题
  11. requestAnimationFrame用法
  12. HTML5-------元素使用
  13. CentOS部署×××
  14. mysql in 索引_项目中常用到的 19 条 MySQL 优化
  15. C语言数据结构--线性表
  16. 乾颐堂现任明教教主(2014年课程)TCPIP协议详解卷一 第二节课笔记
  17. java big5转换为gbk_简体繁体转换代码(Big5-GB | GBK简体-GBK繁体)
  18. mac 用 VMware Fusion 安装 ubuntu
  19. linux怎么刷机教程,刷机教程
  20. 拓展名为html包括,在Windows中,帮助文件的扩展名为()。选项: a、“.html” b、“.sys” c、“.h...

热门文章

  1. 女员工被阿里录取工资二万六,辞职时被领导挽留:给你4万留下
  2. java跳出for循环_Java跳出多层for循环的4种方式
  3. 深度学习实战教程(一):感知器
  4. 在idea中mybatis进行增删改查 常见操作
  5. wps散点图怎么连线_wps表格散点图
  6. python 实现四舍五入,向上取整、向下取整
  7. 深入理解main方法
  8. 索引节点、硬连接和连接计数
  9. flash导出gif动画
  10. 申请Let‘s Encrypt免费SSL证书、自动化续签证书