软件工程第一次作业
软件工程第一次作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/DoubleDegreeClassof2022?filter=all |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/DoubleDegreeClassof2022/homework/13334 |
这个作业的目标 | 为后续的课程学习做好准备工作,对未来的职业发展作出规划,熟悉markdown语法 |
其他参考文献 | https://baike.baidu.com/item/软件工程/25279 |
0. 在gitcode建立public库
0.1 截图
0.2 仓库地址
https://gitcode.com/Mandy_296/3222010165
1. 评估当前的自己
1.1 简历
个人基本信息
姓名:Stewie Griffin
照片:
兴趣爱好:玩电脑游戏,听音乐,看番剧,阅读书籍
特长:具备良好的团队合作精神和沟通能力,能够高效协调项目进展。
当前值
- 成果和获奖经历
- 曾获得优秀学生奖学金
- 专业水平
- 掌握的编程语言:C语言
- 技术框架:仍未了解过技术框架
- 开发软件:Visual C++, Visual Studio
- 项目经历
- 曾参与设计一个库存管理系统
2. 展望未来
2.1 阅读《构建之法》
问题一:如何区分一个好的程序员和不好的程序员?问题一来源
思考一:好的程序员应当做到保证代码质量、拥有优秀的团队协作与良好的沟通能力、具有一定的问题分析以及问题解决能力、拥有持续学习能力与自我提升的导向、拥有良好的职业道德与责任感;不好的程序员仅仅停留在“完成任务”层面,这样往往会导致代码质量低下、团队效率受损。
问题二:在一个被认定为“足够好”的软件发布后,得到的用户反馈中,哪些是有用的?什么时候才能将这个软件优化到相对稳定的版本?问题二来源
思考二:有用的用户反馈包括,可复现的问题报告、普遍性需求而非个性化需求、性能与稳定性数据、用户体验痛点、安全与隐私问题。在关键问题已经闭环、用户反馈趋势趋缓、经过自动化测试与持续集成(CI)验证、用户接受度验证还有团队与市场节奏趋于平衡的情况下,说明已经优化到相对稳定的版本。
问题三:在项目或程序比较复杂的情况下,如何高效率的进行程序理解?问题三来源
思考三:《构建之法》中,程序理解(Program Comprehension)被视作复杂项目维护和优化的核心能力之一。程序理解的任务就是要揭示程序的功能与实现机制,即理解系统的外部行为和内部构造。可以采用自顶向下理解策略的原则,从上到下的方式逐步理解下层细节,根据所拥有的知识和假设,把系统分解成能够在代码中实现的预料中的子系统,然后逐个分解每个子系统直到实现既定功能的一个个代码块。
问题四:程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?问题四来源
思考四:1.要判断需求的合理性:是否值得投入?2.注意技术实现与成本平衡。3.决策框架:何时应该做?(核心用户的小需求——优先实现,边缘用户的共性痛点——需要验证普遍性,小众但高价值场景——选择性支持,低价值但高成本需求——拒绝或者提供引导方案)4.遵守实践原则
问题五:程序员在哪些地方是必须依赖一个额外的用户体验设计师的?问题五来源
思考五:包括,用户研究与需求分析、交互设计与界面优化、用户体验评估与优化、一致性设计与标准化、用户反馈与迭代改进。
2.2 未来职业规划
未来,我可能会选择考研,在硕士研究生时希望能把计算机辅修课程中学习到的内容与本科时主修的工商管理专业相结合,而在硕士研究生后,我希望能进入政府机关或者企业工作,将自己的所学回馈社会。
2.3 对于软件工程实践课程的理解和期望
- 我希望学习到不同的语言,例如Java,python等应用场景更加广泛的编程语言。
- 我还希望提高自己的编写程序的能力。
- 希望老师可以提供相应的指导,因为本人的编写能力相对一般。
- 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。(来源于百度百科中“软件工程”词条。)
3. 思维导图和学习路线
3.1 基本信息
软件名称:Xmind
想学习的技术:用Python实现数据分析
3.2 思维导图
3.3 学习路线图
学习周期:大三下学期+暑假,即2025年3月-2025年8月,总共6个月