239
社区成员




这个作业属于哪个课程 | FZU_SE_teacherW_4 |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 课程回顾与总结、个人技术总结、软件开发模式 |
其他参考文献 | 构建之法 |
答:在本学期开始前,我认为可以从代码质量和工作效率来评判一个程序员的好坏,在经历本学期的大大小小实践后,我认为应该再加上团队合作以及持续学习这两点。好的程序员能够很好地与团队成员沟通和协作,愿意分享知识,帮助他人,集百家之长,共同进步,也会持续学习新技术和新工具,以保持自己的竞争力,毕竟技术的发展是永无止境的,始终保持一颗学徒的心是很重要的。
答:我想我的答案应该是和之前一样的,当然要。只是可以选择对自己帮助更大的课认真听讲,而可以通过自学高效学习掌握的课可以自学,提高效率。
答:除了在第一次作业中我提出的转管理岗和继续搞技术这两条路,我认为大龄程序员还可以尝试自己创业,利用自己的技术知识和市场洞察力来开发自己的产品或服务。或者成为独立顾问或加入咨询公司,为企业提供专业的技术咨询和解决方案。
答:这个问题我在这个学期随着软件工程导论学习的深入以及团队实践的积累,逐渐有了新的看法。我认为取决于这公司的市场定位以及对用户多样性的需求程度。如果小部分人的需求代表了公司的目标市场或者是一个高价值的细分市场,那么为他们开发特定功能可能是有意义的。软件的多样性和包容性是现代软件开发的一个重要方面,为不同用户群体提供定制化的功能可以提高软件的可用性和吸引力。
答:经过本学期的学习,我认为功能反馈、性能反馈、可用性反馈、兼容性反馈以及改进建议是有用的。至于何时软件可以被优化到相对稳定的版本,这通常取决于以下几个因素:反馈的频率和严重性、用户满意度调查结果、监控软件的崩溃率、性能指标。软件的稳定性是一个持续的过程,可能需要经过多个迭代周期,包括收集反馈、修复bug、性能优化、功能增强和安全更新。
答:这个在我们团队实际部署团队作业并邀请团队
如何更好地实现持续集成和持续部署。持续集成的实现需要掌握多种技术,如版本控制、构建、测试、部署等,这增加了开发人员的技术难度,并需要更多的培训和教育,团队必须构建适当的测试套件,并花时间编写测试用例,而不是开发代码,如果测试套件不稳定,它可能在某些天内完美地工作,但其他天可能不起作用,然后团队将不得不花费更多的时间来弄清楚发生了什么。
收获:
课程目标 | 评分 | 解释 |
---|---|---|
目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念 | 87 | 我认识到,软件工程师应诚实守信,不抄袭他人的工作,不伪造数据,不隐瞒软件缺陷;在软件开发过程中遵循行业标准和最佳实践,确保软件的可维护性和可扩展性;认识到软件产品对社会的广泛影响,包括经济、文化、教育等方面;在软件开发中承担社会责任,关注软件对社会的长远影响。而我参与开发的大学生网课资料平台的扩展性较差,我应该继续深入学习,有朝一日完善这个作品。 |
目标2:掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型 | 92 | 需求分析是一名软件工程师在需求分析阶段应具备的技能和能力,我能熟练使用需求表达工具包括用例图、活动图、数据流图、状态图等UML图,构建需求分析模型,规范、准确地表达客户的需求,具备良好的沟通技巧和文档编写能力 |
目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案 | 85 | 我在团队项目中使用用例、用户故事和需求规格说明书来记录需求,创建体系结构设计文档,包括组件图、序列图和部署图,定期回顾和维护软件系统。不过在快速开发过程中,可能忽视了代码质量和测试覆盖率,设计和开发文档不充分,影响项目的可维护性和可扩展性。 |
目标4:能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案 | 80 | 在评测中,我运用各种设计模型,如UML图,进行系统分析和设计,并评估这些模型的有效性,培养创新设计意识,对团队成员提出创新的设计方案进行探讨,分析可行性和不足,但在这方面创新意识的培养可能需要时间和持续的努力,不是一蹴而就的,因此在创新意识方面有不足之处。 |
目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力 | 85 | 开发过程中,我尽可能使用标准模板和格式来确保文档的一致性和专业性,撰写需求规格说明书时,明确文档的目的、范围、背景、术语和参考资料,鼓励团队成员参与文档撰写,确保文档内容全面、准确,但在与同行交流时存在一些沟通障碍,需要加强沟通能力 |
目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作 | 90 | 通过团队项目,我意识到团队合作是项目成功的关键。根据PM对半成品的反复评审,积极修改并优化代码,同时强化与后端同事的交流和意见看法的交换,使前后端对接丝滑。 |
目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 80 | 在软件工程导论课的学习中,虽然我基本掌握了项目管理的基础知识,如如何估算项目的工作量和进度,如何使用工具进行项目规划,但是由于缺乏实际项目管理的经历,我在这方面仍需有所提高。 |
Axios是一个基于Promise的HTTP客户端,它适用于浏览器和Node.js环境,支持Promise API,使得异步HTTP请求的处理更加简洁和直观,允许开发者在请求发送到服务器之前或响应发送到客户端之前对其进行拦截和修改
可以转换请求和响应数据,支持多种数据格式,包括JSON、Multipart/FormData和URL编码形式。这些特性使其成为现代前端开发中处理HTTP请求的有力工具,它不仅简化了请求的发送和响应的处理,还提供了许多高级功能,如拦截器、请求取消和数据转换等,极大地提高了开发效率和应用的用户体验。
这是一个大学生学习资料分享互助平台,我们将它命名为CourseNest,可翻译为课程网。基于Spring boot、vue.js、MySQL、Postman等技术栈,用户可以在平台上对相关学科的学习资料进行上传分享与下载,对各个专业课程进行评价以作为选课参考,还可以发帖对具体问题进行询问求助。
挑战 | 解决方案 |
---|---|
用户认证与授权 | 使用 JWT(JSON Web Token)来管理用户会话,通过加密的 Token 来确保请求的合法性 |
前后端接口对接 | 使用 Swagger 来统一规范 API 文档,确保前后端对接口的理解一致,同时利用模拟数据提前进行接口联调 |
开发模型 | 特点 | 适用场景 |
---|---|---|
瀑布模型 | 瀑布模型是一种线性、分阶段的软件开发方法,每个阶段完成后才能进入下一个阶段,项目被划分为一系列严格的阶段,包括需求分析、设计、编码、测试和部署,强调文档的重要性,每个阶段都需要产出详细的文档 | 当项目需求明确且在整个开发过程中不太可能发生变化时,瀑布模型是合适的 |
DevOps模型 | DevOps是一组过程、方法与系统的集合,用于促进开发(Dev)和运维(Ops)之间的沟通、协作和整合,强调自动化流程,包括持续集成(CI)、持续部署(CD)和基础设施即代码(IaC),支持快速的软件开发和部署周期,以快速响应市场变化 | 适用于需要快速迭代和频繁部署的软件开发环境 |
螺旋模型 | 螺旋模型结合了迭代开发和系统化的风险分析,每个迭代周期都包括风险评估,强调客户反馈和市场研究,以确保产品满足用户需求,模型允许在开发过程中根据风险评估和客户反馈进行调整 | 适用于风险较高、需要严格风险管理的项目 |