122
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2302软件工程社区 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 对软件工程实践这门课程的总结以及个人技术的总结 |
问题一:问题一:对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?
答:我认为单纯强调”专“更好或者”广“更好都过于片面而不够客观,归根结底还是对于【软件工程师】这一职位地定义太过模糊与宽泛。同样都是工程师,不同人的分工也有所不同:有人专精于前端或后端相关技术栈,有人则需要统筹全局地架构和部署。此外,在一个人的职业生涯中,其承担的职责也是在不断流动的。
问题二:软件开发是年轻人的饭碗,吃的是青春饭?那年纪大的程序员经验丰富但是快速学习能力拼不过年轻程序员的时候该怎么办呢?
我认为软件开发是要求终身学习的,要接触最新的技术,时刻让自己保持竞争力,只有强大了自己的实力才能尽量地避免中年失业危机。
问题三:问题三:如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?
答:持续学习,多看看源码,没有必要新的语言一出就去学习,因为存在一些功能维护不稳定,可能一直改,浪费时间,多数的底层原理是一样的,平时对自己的这门语言保持持续进步,吃透后去看看别的语言,先走深再走广,不去盲目追新(新的技术)时机成熟,机会永远在自己手上
答:”不同设备、同样的体验“仍然是人们追求的目标。比如,Apple现在的Mac OS和iOS的体验就在不断的靠近,相同的系统应用,类似的操作和布局.
问题五:AI辅助编程,是一个银弹么?
答:有利于程序员开发是肯定的,但是chatGPT目前只在demo级别的开发上具有强大的效率和准确度。但是一旦代码量的提高,gpt无法直接提供一个可执行的程序,仍会“胡言乱语”。
需求阶段:
在需求分析阶段,主要是确保全面、准确地理解和记录系统需求,为后续的设计和开发奠定坚实基础。通过这一阶段的学习,你将掌握如何从用户和利益相关者处收集需求,如何分析和优先排序需求,如何用各种模型和文档清晰表达需求,并如何管理需求的变更和验证。在时间有限的情况下,优先处理最重要的需求,是确保项目能够顺利推进并实现基本功能的关键!这个过程中,学会了运用NABCD模型进行具体分析,这个模型帮助更好地了解了项目的需求所在,以及如何针对这些需求制定具体的实现方案。
设计阶段
通过设计阶段的学习,掌握如何将需求转化为详细的设计方案,包括系统架构、详细设计、界面设计、数据库设计、安全设计等方面的内容。你还将学习如何使用设计模式、优化性能、确保系统安全,并撰写和评审设计文档,最终为系统开发提供明确、可行的蓝图。
实现阶段:
通过实现阶段的学习,掌握如何将设计转化为高质量的代码,包括编程技能、代码实现、版本控制、测试、调试、文档编写、团队协作、CI/CD、安全编程、性能优化以及部署与运维等方面的内容。这一阶段的学习将帮助提高编写高效、可靠、安全代码的能力,并确保代码能够顺利集成、测试和部署到生产环境中。
测试阶段
通过测试阶段的学习,掌握如何设计和执行有效的测试计划和策略,编写高质量的测试用例,使用各种测试工具和技术进行手工和自动化测试,管理和跟踪缺陷,搭建和配置测试环境,进行性能和安全测试,评估测试结果,并撰写详细的测试报告。这些确保软件系统的质量和可靠性,提高用户满意度。
发布阶段
通过发布阶段的学习,你将掌握如何制定和执行详细的发布计划,选择和实施合适的发布策略,准备和管理发布环境和数据,使用自动化工具进行部署,验证发布的效果,评估和管理发布风险,提供发布后用户支持,并总结和分享发布经验。这些技能将帮助你确保软件版本的顺利发布和系统的稳定运行,提高用户满意度和系统可靠性。
个人项目
游泳平台数据读取,这个项目使我学会对JSON文件的读取操作。知道如何配置cppJson,首次接触用命令行启动程序,其次也学会了单元测试注解的使用。
结对编程
结对编程实现游泳平台原型项目,学到了更多关于原型设计相关的知识,且了解了对墨刀的使用,在原型设计方面有了很大的提升。而且这次的团队协作也使我明白了,相互合作最为重要的就是沟通交流,这不仅可以帮助我们清楚彼此的职责和能力,还能增加成员之间的理解和信任。
团队项目
参与团队编程项目,学到如何在团队中高效合作,如何使用各种工具和方法提高项目管理和代码质量,如何灵活应对需求变化和项目风险,如何持续学习和分享知识,并培养出强烈的团队精神和责任感。在将项目解耦后会发现只需要注重于个人所要实现的功能模块即可。在这种方式下,项目便逐渐搭建起来。
| 目标 | 目标内容 | 分数 | 打分理由 |
|---|---|---|---|
| 目标1 | 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 95 | 软件设计便于老师签到管理,督促同学不迟到早退 |
| 目标2 | 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 98 | 基本掌握了需求分析的全过程,能够辨别不同的需求,能准确的分析需求 |
| 目标3 | 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 93 | 掌握了软件开发的全过程,遵守体系结构设计方案和基本设计原则,能够基于这些原则完成任务。 |
| 目标4 | 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 94 | 项目中加入了地点定位人脸识别 |
| 目标5 | 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 96 | 定义的文档标准,在开发过程遵守文档进行开发 |
| 目标6 | 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 100 | 团队意识和合作意识较强,与其他成员的沟通与协作过程中进展得都很顺利 |
| 目标7 | 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 90 | ,懂得软件项目管理是一件很重要的事,能够划分出构成要素进行项目的管理,并且利用工具或者计划表对工作量进行分析 |