142
社区成员




这个作业属于哪个课程 | 2022年福大-软件工程;软件工程实践-W班 |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 阶段收获,理解或心得,回顾问题并解答,自我评估,个人技术博客 |
其他参考文献 | 《构建之法》 |
需求阶段
本阶段,我深刻认识到了需求文档的重要性,在项目初期的时候,需求没理清楚,到开发阶段就会出现多义性,如果和前端沟通不及时,就容易出现开发出的许多接口,前端用不上,而漏掉许多需要的接口。并且需求阶段也需要认真审核分析,保持一致性,避免各个需求的冲突。并且需求也需要考虑开发的可行性,难易度。
设计阶段
本阶段,我们进行了系统设计、数据库的设计。并且产出了数据库规格说明书,系统设计说明书。将需求进一步具体化。并为开发提供指导。在这个阶段针对每个具体功能以及功能之间的相关关系设计出完整的数据库表,并且考虑数据字典的完整性。系统设计需要合理分配模块,以及大致拟定所需要接口,同时也需要考虑接口间的关系。
实现阶段
本阶段,需要合理预估各个模块与总模块所需的时间,合理分配各个模块所需的资源。编写接口时需要合理思考此接口与其他接口的相关关系,编写接口时应充分考虑,对于一些隐含的状态改变也要考虑。写代码时需要与其他开发人员拟定开发风格,以及开发框架,开发规范。并且团队协作时使用git时更新时要及时、清晰、简洁地标注,并且要及时查看别人最新的更新。
测试阶段
本阶段,学会了使用Junit进行合理单元测试以及集成测试,并且利用postman多次进行合理测试。
发布阶段
本阶段,学会了对完成的项目打包发布,并且及时处理用户反馈。
个人项目
我认识到开发不仅需要完成所需功能。还需要考虑项目的健壮性,不断提高项目的效率。需要用大量数据进行压力测试。根据结果不断优化改进。并且需要评测所需资源如内存,运行时间。并且在本次项目中,我第一次接触到了PSP效能表格。合理地预估了各个阶段所需的时间。并且第一次用git进行开发,熟悉版本控制。
结对编程
本次结对编程,我第一次接触到了原型设计工具,认识到了原型设计的强大,并且更加深切地认识到了原型设计对开发的指导作用。并且认识到了原型设计与开发项目具体成果是有出入的。具体开发结果需根据开发具体环境以及开发难易程度决定。本次开发利用PHP以及框架YII2.0进行开发。由于对PHP以及框架不够熟悉,出现了问题排查以及解决的时间过长。
团队项目
这是我开发过程中参加的最大的团队,整整十个人,并且经历完整的项目开发。进行需求分析,设计、开发、测试。学会了团队协作,并且利用git进行团队开发。作为一名参加两组开发的后端。我认识到代码可读性的重要性,需要合理写出注释。对于每个类每个方法要进行说明,对于较复杂的代码部分也要进行解释。有需要的话需要编写相应的交接文档。并且此次阶段我学会了任务的合理分配,并且合理制定开发计划。
编号 | 课程目标 | 掌握程度 | 相应解释 |
---|---|---|---|
目标1 | 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念 | 80 | 认真完成每次任务,不虚报进度,合理接收自己的任务 |
目标2 | 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型 | 81 | 能够认真调研分析用户需求 |
目标3 | 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案 | 82 | 认真参与了开发全过程 |
目标4 | 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案 | 80 | 进行了全方位评测,能够进行集合评测 |
目标5 | 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力 | 81 | 参与了团队项目的各个文档的编写。 |
目标6 | 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作 | 85 | 在团队项目中担任后端开发的角色,学到了如何与其他开发人员合作 |
目标7 | 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力 | 82 | 能够及时了解项目的进度 |
解答:需要说明,如果未说明,用户在使用过程中可能会使用到缺陷功能。产生不必要的损失以及糟糕的使用体验。说明的话用户 会避开,避免浪费时间。并且将其写入规格说明书中也激励开发者尽量早点解决缺陷。
新问题:无
解答:我认为用户不知道他们想要什么。用户心中只有大概的、抽象的需求。需要将对应的原型,甚至将新的产品呈现给用户,与用户进行探讨,删改,才能得到用户满意的结果。
新问题:无
解答:是的。我觉得公司发展就需要追求利润。有了足够的利润公司才有蓬勃发展的力量。
新问题:无
解答: 团队成员中学习能力较强的同学可以承担较为核心的部分,在项目开发的过程中可以对学习能力较弱的同学进行指导。学习能力的较弱的同学,承担较为基础的部分,在力所能及的时候可以多承担其他部分,对于学习存在的问题可以多向学习能力强的同学学习。
新问题:无
写博客也会花挺多时间的,如果把这些时间花在写代码上面会不会更好?
解答:写博客虽然花时间,但是是对本次开发的总结以及梳理。通过写博客可以重新检验自己的开发存在的问题与情况。并且写博客可以让其他人更快速直观地了解项目。
新问题:无
写博客虽然花时间,但是是对本次开发的总结以及梳理。
事后反思有助于更好地前行。