软件工程第一次作业

目录

1.作业基本信息:

2.评估当前的自己

2.1 自我简介

2.2 当前值

3.展望未来

3.1 思考构建之法社区中的问题

3.2 未来的职业规划

3.3 对于软件工程实践课程,你有什么理解和期望?

4.学习路线

4.1思维导图

4.2学习路线

5.git上传截图


1.作业基本信息:

这个作业属于哪个课程软件工程
这个作业要求在哪里作业要求
这个作业的目标1.登录gitcode并上传文件 2.评估自己,并制作一份简历3. 展望未来,要求学习《构建之法》并思考相关问题4.确定好自己的学习路线,制作思维导图,规划6个月的学习计划
其他参考文献《构建之法》

2.评估当前的自己

2.1 自我简介

姓名:牛奕飞


照片:


兴趣爱好:跑步,乒乓球,游泳,看电竞


特长:乒乓球,团队内的沟通能力,编程能力

2.2 当前值

  • 加入了学校的工作室的前端小组,学习前端方向。

  • 掌握html,css,js前端基础语言,掌握小程序开发原生语法。掌握vue2框架。

    • 参与开发若依(后台管理)项目,主要负责主页完成主页内容,技术栈是vue2+element-ui+axios;

    • 自学期间做过仿蘑菇街项目(h5电商页面),利用往上免费接口,实现了登录注册,主页商品和轮播图的展示,购物车等功能,技术栈是vue2+vuex+element-ui+axios+better-scroll;

    • 目前正在参与工作室本学期招新小程序的开发。负责整体框架的搭建和部分页面的完成。

3.展望未来

3.1 思考构建之法社区中的问题

  • 问题一:在项目或程序比较复杂的情况下,如何高效率的进行程序理解?

    程序理解的任务就是要揭示程序的功能与实现机制,即理解系统的外部行为和内部构造。可以采用自顶向下理解策略的原则,从上到下的方式逐步理解下层细节,根据所拥有的知识和假设,把系统分解成能够在代码中实现的预料中的子系统,然后逐个分解每个子系统直到实现既定功能的一个个代码块。

  • 问题二: 如何区分一个好的程序员和不好的程序员呢?

    我认为重要的是排查问题的能力,业务理解能力,还要看其对技术的理解程度,以及个人的逻辑思维。能够很快的查找出问题的地方及原因,能够很好地实现客户所需要的功能,所编写的代码清晰明了,不容易出bug的程序员,我认为是一个好程序员。所以给他一个复杂的问题,看他解决问题的结果一般就可以分辨出程序员的好坏。另外,程序员的社会性是程序员成熟的标志之一。没有参加过项目的程序员,程序编得再好,只能是纯程序类的程序员,是一个孤独的高手,是一种个人型的程序员,远没有成熟。

  • 问题三:对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?

    对于工程师而言,我认为需要更‘专’一点。但‘专’还是‘广’,其实由工程师在项目中的任务分工决定的。在一个团队中,需要有具备专业技术的工程师,否则项目无法深入研究开发,但也需要有领导者负责统筹兼顾,领导者不一定需要每一部分技术都清清楚楚,但是技术栈要全面,也就是‘广’。虽然在一个团队中,二者同时存在,但是我认为更‘专’的工程师是相对较多的,所以作为一名工程师,我认为应该更‘专’一些。不可否认,在起初主负责一个方向的‘专’工程师会随着项目开发经验的增加,会去领导一个团队,成为一名‘广’工程师。

  • 问题四:程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?

    这要具体情况具体分析,当有一个新的需求出现的时候,开发人员或者调研人员应该充分考察调研这个需求的 可实施性,投入产出比 等等,如果这一小部分人的需求确实具有实用价值,能让产品给用户更好的使用体验的话,是可以考虑满足他们的需求的,但是用户需求不一定等于产品需求,加入投入大于产出的话,就没必要白费力气了。

  • 问题五:功能说明书的意义就在于严格地、无歧义的描述软件的外部功能,讲述交互的方式。但是这样的功能说明书必定是很长的,相信大部分用户也不会有闲心来详细阅读功能说明书。那么怎样能快速、有效地引导用户来按照我们设计的方式来与软件进行交互呢?这一部分应当是谁的工作呢?

    功能说明书是严格而无歧义的,其最大的作用其实是作为一个标准而存在,应当是一个出现了问题来查阅的手册。

    将产品的功能展现给用户,并不应当依靠功能说明书,而应当设计更友好的引导。并且对于用户的引导,可以舍去很多细节,只需要展示大部分场景下的使用方法即可,当用户需要一些细节的时候,此时用户的主观能动性足够他去查阅文档。

    引导用户正确地使用产品,首先应当考虑的是软件的设计,按钮、菜单、界面的排布,文字的描述,应当本身就具有解释性,好的设计应当能让用户在没有引导的情况下就能够猜出如何使用特定的功能。其次,考虑一些帮助说明,比如在不直观的功能边上添加说明、添加?按钮、鼠标悬停显示帮助等等。最后才是比较详细的说明书,这个说明书应当具有一定的索引功能,能够帮助用户快速检索到需要的帮助信息。

3.2 未来的职业规划

进一步学习前端相关技术,丰富自己的项目经验,成为一名web前端工程师

3.3 对于软件工程实践课程,你有什么理解和期望?

  • 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它能教会人如何去理解编程,因此学习这门课程,一定要重视实践。

  • 希望通过软件工程课程学习到前端知识,提升自己对于项目开发和维护的理解

4.学习路线

4.1思维导图

4.2学习路线

第一阶段:学习css3的新功能, ES6的新语法,继承,正则,算法,原型链等知识,巩固自身基础。学习资源:《JavaScript高级程序设计》B站免费课程,csdn、juejin等社区的相关文章、官方文档等。用时一个月左右


第二阶段:学习TypeScript、前端工程化,ts相比于js有诸多优势。学习前端工程化,有助于深入理解前端项目。可以通过自学项目的形式进行学习。学习资源:《Webpack实战:入门、进阶与调优》,B站免费课程,csdn、juejin等社区的相关文章、官方文档,GitHub开源项目。用时三个月左右。


第三阶段:学习后台相关的服务端知识,丰富自身的知识储备,并且加深对于web开发的理解,有助于web开发时进行前后端的连接,学习Java语言。学习资源:《Node.js Design Patterns》,《Java技术与应用》B站免费课程,csdn、juejin等社区的相关文章、官方文档,本学期的Java课程。用时两个月左右。

5.git上传截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值