103
社区成员
这个作业属于哪个课程 | 软件工程实践2022年春-F班 |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | <个人总结、技术总结> |
其他参考文献 | CSDN、菜鸟教程 |
问题链接
1.对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?
以前观点:
我认为就大部分工程师还是“精”一点好,一个team里每个人都掌握了自己的技能并在里面发挥出自己的最大作用,互相补充才是最好的,大部分行业和人更追求的是T型人才。而“广”则相对来说,所需的知识面更广,耗费的精力也难以支撑去钻研某一点的需求,更偏向于全面的统筹构架和规划,也相对较少人能支撑。
现在看法:
作为一名工程师,私以为要以专为主,广为辅,就这次的团队实践而言,我的角色是安卓工程师,所以里面APP大部分的主要功能都要我来完成,如果没有比较完备的基础技术能力,很多功能都无法实现,尤其是迭代开发,更需要一定的技术知识储备,不然就会代码看不懂的情况发生,同时,还需呀的是其他方向一定的了解和知道,比如后端的运行机制,美工给出的图的使用,才能更好的更高效率的完成这个团队APP。
2.软件的缺陷是否应该在规格书中说明?
以前观点:
我认为应该说出来,如例子中的LED灯,有时候一点看似小的缺陷却有可能带来重大的安全隐患,不仅是为了软件的声誉,也是为了保护使用者的权益和安全。
现在看法:
软件的缺陷是要在规格书中说明的,如果等软件的BUG造成了很大的损失或者引起了使用者的强烈不满,造成了一部分本来可以避免的事故发生,就得不偿失了,还不如将软件的缺陷在规格书中说明,尤其是一些比较敏感的领域的软件,更是要谨慎而为。
3.个人在团队中应该只是一个流水线上的机器吗?
以前观点:
我认为个人在团队中既是一个流水线上的机器,按时按量的完成自己的那一部分,才不至于拖了团队的后腿,同时也应该保持自我的热情和灵魂,不断的学习进步,将技能和新的知识,方案和灵感不断冲撞,才能不断的获得新的东西。
现在看法:
并不是。个人在团队中既是整体中的一部分,但也是一个重要的,可以精益求精的一部分,就这次实践而言,每个人既可以很敷衍地完成属于自己地那一部分,也可以很认真地完成,比如将代码模块化,每一段都表明注释,在学习后不断地优化和改善代码,都是每一个人可以做的事情,但做与不做的区别却很大,这不仅对以后的优化开发,功能拓展等都有重大的影响,也是对个人而言不断进步的一个过程。
4.从小部分人出发而瞄准的用户群体真的能够带来较大的商业价值吗?
以前观点:
若是一个软件从小部分出发而瞄准的用户群体的软件拥有稳定的典型用户,且有着可观的潜在用户还是可以获得较大的商业价值,所以我认为其实最重要的一部分在于潜在商业价值,重要的是对于市场的观察力,敏锐的判断。
现在看法:
如果仅对商业价值而言,从小部分人出发的往往暂时较难有巨大的市场和价值,但往往小部分出发的用户群体有较大的潜力空间和隐藏价值。就大部分APP而言,很多较大的用户群体都已经有了饱和的软件市场,不仅很难竞争成功,而且过于普遍,较难有新意,但观测很多APP,都是从瞄准小部分人的用户群体来的,慢慢发展成了一个具有较高商业价值的APP。
5.花费时间越多,代表工作量越高吗?
以前观点:
花费时间越多,工作量越高的前提首先是工作效率一样。所以我觉得首要的提高效率,一样的工作量,巧妙地算法往往能节省很多的时间和代码,所以以花费时间的多少来评判工作量的多少是不正确的。
现在看法:
花费时间越多,工作量并不越高。比如常见的很多辅导班不仅是基础的语言学习和拓展了,还有算法的学习和培训。这是因为时间不仅仅是衡量工作量和能力的标准了,往往效率和时间才能衡量一个人的工作量高低。
1.需求:与他人(工作开发人员)的讨论,和对市场软件的调研能力。
2.设计:绘画和制作原型已经越来越熟练了,主要是对制作工具的越来越熟练。
3.实现:主要是对技术的学习和拓展,对Android能力的进一步学习和掌握。
4.测试:学习了如何对代码及软件测试,以及有哪些需要注意的良好编程,测试习惯。
5.发布:主要是在发布后不断地完善以及在使用中不断地发现问题解决问题。
编程就是一件需要不断进步和学习的事情。在编程中,我们往往遇到很多问题,有无法解决的技术难题,莫名其妙的突然报错,还有与他人合作时发生的冲突等等。但这都是我们不断学习的一个过程,比如遇到问题百度后,下次遇到相同的问题就不会手足无措了,遇到不会的技术问题,通过学习后,便在一遍遍的练习中可以掌握,与他人的交流沟通也是一件促进友谊的事情。
目标 | 评分 | 原因 |
---|---|---|
理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 78% | 能较好的理解软件工程师的职业道德规范和实践要求,了解国情社情民情,树立积极向上的软件开发理念,个人也积极向上,坚决正能量 |
掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 73% | 能较好理解表达客户需求,但构建模型方面仍需努力和完善 |
掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 73% | 技术方面仍需努力,体系结构设计模型,数据设计模型和构件级设计模型还不是很完善 |
能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 86% | 具有较高的设计模型评判能力和创新意识,能够优选设计方案 |
遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 83% | 能较好的撰写各类文档,并坚决按规范执行,同时有较高的沟通能力,可以很好的与业界同行沟通交流 |
具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 85% | 有较高的团队意识,以团队为主体,协调团队各项工作的展开,并积极与团队成员沟通交流 |
能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 74% | 对软件总体把控量较差,管理能力也不是很强 |
Android技术博客
概述:Android技术主要应用于软件APP的开发,学习该技术一方面是个人爱好,另一方面是接触的比较早,该技术难点一方面是流行语言较多,另一方面内容及优化较多。