688
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2023年福大-软件工程实践-W班 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 课程回顾,个人总结 |
| 其他参考文献 | 无 |
A:作为一位软件工程的大学生,认真听老师讲课是非常重要的。
首先,老师们通常都有非常丰富的实践经验,在课堂上分享这些经验可以让我们更好地理解理论知识,并将其应用于实际情境中。
其次,通过认真听课,我们可以更好地理解教材内容,更加深入地了解问题的本质和解决方法。这对于我们后续的学习、项目开发以及未来的职业生涯都非常有帮助。
除了上课之外,我还会通过各种渠道进行学习和探索。例如,我会阅读相关的书籍、文献和技术资料,以便更全面地了解某个领域或者技术。此外,我还喜欢在与同学和老师的交流中学习新知识和技能,这样不仅能够让我更好地掌握知识,也能够拓展我的思维和视野。
A:首先,我会花费大量时间阅读代码和注释,以理解整体结构和每个功能模块的实现方式。通过仔细地查看代码库,我可以明确每个类、函数和变量的作用及其各自之间的关系。
其次,我会使用调试工具,例如断点和日志,对代码进行追踪和分析。通过调试工具,我可以逐步了解程序的执行流程,并定位错误或瓶颈。
此外,我还会查阅相关文档、参考资料、技术博客等,以便深入了解程序中使用的技术和实现方式。这些文献资料通常包含有用的示例代码和解决方案,可以帮助我们更快地理解程序。
最后,我也会与同事或其他开发者讨论问题,分享经验和思路。这些交流可以帮助我更好地理解项目和代码,也可以促进我的思考和学习。
A:我认为程序员应该根据客户的需求去开发软件,以确保软件能够满足客户的需求。
当然,在实际开发中,有时候客户会提出一些非常小众或者个性化的需求,这些需求并不是那么必要或者常规。在这种情况下,我们需要仔细考虑是否添加这些功能或者修改已有的软件特性。
如果这些需求只是少数人需要,且添加这些功能不影响软件原本的性能和稳定性,那么我们可以考虑将其添加到软件中。但如果这些功能需要耗费大量时间和资源,或者会对软件的性能和稳定性产生负面影响,那么我们就需要权衡利弊,仔细考虑是否值得去做这些修改。
在开发过程中,我们还需要注重软件的可维护性和可扩展性。如果我们在代码中加入大量的“hack”或者针对特定场景写的代码,可能会影响软件的可维护性和可扩展性。因此,在考虑添加某些小众功能时,我们也需要考虑这些修改是否会给软件带来潜在的问题。
A:首先,软件本身需要具备可扩展性和可维护性。如果软件代码混乱、耦合度高、缺乏适当的注释或文档说明,那么将来开发新功能或者对现有功能进行修改会变得非常困难。因此,在开发过程中,我们需要注重代码的质量和可读性,保证代码结构清晰,逻辑清晰,并且具有良好的文档和注释。
其次,软件需要具备一定的灵活性和适应性。现代软件开发往往采用模块化的结构,这种软件架构可以让我们更容易地添加新功能、修改现有功能,甚至将某些功能拆分到独立的模块中。通过采用这种灵活的架构,我们可以为软件提供更多的发展空间,同时也便于维护。
最后,我们还需要关注软件市场和用户需求。软件能否持续发展需要满足市场需求,如果软件没有解决用户问题或者不能满足客户需求,那么软件就很难持续发展下去。因此,在软件开发过程中,我们需要密切关注市场和用户需求变化,并及时做出相应的调整。
通过实践和课堂学习,我认为软件架构设计、代码质量与可读性、以及用户需求等因素都是影响软件持续发展的重要因素。只有在这些方面得到充分考虑和保证的情况下,我们才能够“证明”一个软件是可以继续发展的。
为了给别人提供容易接受的反馈,我们可以采用以下方法:
以积极和建设性的方式提出问题。避免使用攻击性或贬低性语言,而是使用客观和清晰的语言来描述问题。
提供具体的反馈和改进建议。指出具体的问题,并提供相应的解决方案和改进建议,以便对方更好地理解并改进他们的工作。
听取对方的意见和看法。如果对方有不同的看法或者反驳意见,要耐心听取并尊重其看法。
通过实践和课堂学习,我认为提供容易接受的反馈需要注意语言和态度的严谨性,同时也需要考虑到对方的感受和立场,以便让对方更好地接受和采纳我们的反馈。
在需求阶段,我学到了如何进行有效的沟通和协作,以便明设计的需求和期望。同时,我也学会了如何将需求转化为可行的解决方案,并对后续设计和实现产生积极影响。
在设计阶段,我学会了如何将需求转化为具体的设计方案,并且考虑到实现的难点和限制条件。我也学会了如何使用各种设计工具来辅助设计和文档编写,例如Axure、墨刀等。
在实现阶段,我专注于Vue前端web开发,学习了如何将设计转化为可执行的代码,并将其与后端进行结合。我通过实践掌握了Vue相关知识,例如组件化、路由管理等,并且学会了如何调试和优化前端代码。
在测试阶段,我学习了如何使用不同的测试工具和技术来确保软件的质量和稳定性。我学习了单元测试、UI测试等方法,并能够使用这些测试手段来发现和修复潜在的错误或缺陷。
在发布阶段,我学习了如何使用自动化部署和持续集成工具来简化发布流程,并确保软件能够在各种环境中正常运行。
在个人项目中,我使用Java语言进行编程,这让我更深入地了解了Java的特点和用法,提高了我的编程能力和代码质量。在这个过程中,我独立完成了一个完整的软件项目,从项目需求分析到设计实现,再到测试和发布。我认识到独立开发项目需要有良好的时间管理、自我学习能力和解决问题的能力。同时也意识到了沟通和反馈的重要性。在这个过程中,我更加明确了自己的职业方向和未来的学习计划。
在结对编程中,我与队友一起使用Axure进行原型设计,使用Vue框架进行开发。这种协同方式让我更好地理解了团队协作的重要性,学习了如何与队友合作完成一个项目,并克服了协同开发中的沟通和交流问题。同时,我学会了如何将原型设计转化为具体的界面和功能,并且更深入地了解了Vue框架的使用和前端技术的应用。在这个过程中,我也意识到了团队协作中的角色分工、责任担当和情感交流。
在团队项目中,我主要负责Vue前端开发。在团队合作中,我认识到了团队合作的重要性,比如共同制定目标、明确任务分工和职责等。在实践中,我体验到了软件开发中前后端协作的复杂性,但通过不断学习和探索,我成功地将前端和后端进行了良好的衔接和协调。同时,我还学会了项目管理、代码规范、版本管理等方面的知识和技能,在团队中也意识到了沟通和反馈的重要性。在这个过程中,我更清晰地认识到了整个软件开发流程的重要性和各个环节之间的关系。
对于目标1到7,我自我评分如下:
目标1:90分,树立了积极向上的软件开发理念并能够理解软件产品对社会、健康文化等方面的影响。
目标2:80分,掌握需求分析的全过程,能辨别客户表述的多样化要求,但在需求表达工具的使用和构建需求分析模型方面还需进一步提高。
目标3:85分,熟悉了体系结构设计方法和基本设计原则,形成了面向高效可靠的服务组件设计方案或软件系统设计方案,但需要更多正式的技术评审经验和对数据设计模型和构件级设计模型的掌握。
目标4:85分,能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,但在创新设计意识和优选设计方案的能力还需更进一步提高。
目标5:80分,采用规范的表达,掌握了需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,但在与业界同行交流能力方面还需加强。
目标6:90分,具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作,但还需进一步提高组织、协调或指挥团队开展工作的能力。
目标7:85分,具备辨别具体软件项目管理中涉及的构成要素等能力,掌握了软件规模和工作量的估算方法和选择合适的工具规划软件进度,并且有初步的管理复杂软件工程项目的经验,但在项目管理过程进行配置方面还需提高。
在进行vue项目开发时,当需要不同组件和页面共享同一个数据时,可以使用全局变量,以下博客将会介绍如何使用vue3组合式API进行全局变量的定义和使用.
请看一下你的文章格式。