软件工程课程第一次个人作业

软件工程 https://edu.cnblogs.com/campus/fzu/SE2024
作业要求 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243
作业目标 熟悉github和博客园基本操作以及课程作业提交流程和要求,并体验AIGC给人们带来的工作便利
学号 102201630

作业要求

一、个人logo文生图任务

个人logo
设计理念和过程:
在设计之初,考虑到个人能力多有欠缺之处,对包括软件开发在内的诸多计算机科学与技术存在疑问,因此,主基调中选取一个问号,不做不懂装懂的人,为自己的疑问发声和寻求答案。
火柴人的架构简单,个人看来也代表着不够立体饱满的人。本人在学习过程中,感受最多的是自己对计算机科学技术的无知,同样的,还有兴趣,兴趣是支撑学习的骨干,因此选用火柴人作为个人骨干的象征,同时将“?”置于火柴人头顶,也是在强调主基调。
logo生成步骤:

首先将个人需求用文字描述出来

AIGC工具就可以自动生成心仪绘图
Craiyon使用体验和感想:
Craiyon工具使用便利,对个人需求的描述有着不错的反应能力,绘画出的图都很有创造力和想象力,不过似乎并不能满足太多设定情况下的绘画;总体来说,Craiyon是一个优秀的文生图AIGC工具。

二、Github个人主页任务

三、在博客园发一篇随笔,包括但不限于以下内容(以下内容为必选):

1.自我评估

专业知识和能力
·基本掌握C、汇编编程语言
·计算机系统结构及其算法有一定了解
·了解一部分虚拟机Linux操作系统
感兴趣的技术方向
·目前对市场主流技术方向不够了解,个人仅对计算机硬件系统和部分软件系统开发有一定兴趣
·对能够促进生活便利的技术更有兴趣(当下不了解)
缺少的能力
·计算机系统理论知识储备远远不够,实践中更多的是有样学样,并不能灵活运用理论知识
·完全不了解基于硬件系统的必须软件开发且编程技术、能力薄弱
·实践经验不足,为人处事乖僻,团队合作少

2.之前的代码量

·非常少,在软件开发和代码编程上的兴趣低,代码量不超过1.5k
·本课程完成后,希望能至少达到3k(翻一番)

3.期待在课程中学习的知识和收获

·加强编程语言的使用,能够在实践中熟练运用
·增加实践经验以及团队协作能力
·对软件系统开发能够有系统性的了解

4.软件工程学习指南(chatgpt)

软件工程学习指南

  1. 课程概述
    软件工程是关于系统化、规范化的开发、维护和管理软件的学科。主要目标是提高软件质量,降低开发成本,提高开发效率。

  2. 主要主题
    2.1 软件开发生命周期 (SDLC)
    需求分析:收集和分析用户需求。
    设计:创建系统架构和设计方案。
    编码:实现设计方案并编写代码。
    测试:验证软件的正确性和质量。
    部署:将软件系统交付给用户。
    维护:对软件进行更新和修复。
    2.2 需求工程
    需求获取:与利益相关者沟通,确定需求。
    需求分析:确定需求的功能和非功能要求。
    需求规格说明:编写需求文档。
    2.3 软件设计
    系统设计:定义系统架构和模块。
    详细设计:设计各个模块的内部结构和算法。
    设计模式:了解常见的设计模式(如单例模式、工厂模式等)。
    2.4 软件开发模型
    瀑布模型:线性顺序的开发流程。
    敏捷开发:迭代和增量开发,强调快速响应变化。
    V模型:强调测试阶段与开发阶段的对应关系。
    原型模型:通过原型来逐步完善需求。
    2.5 软件测试
    单元测试:测试单个模块的功能。
    集成测试:测试多个模块的集成。
    系统测试:测试整个系统的功能。
    验收测试:确保软件符合用户需求。
    2.6 项目管理
    项目规划:制定项目计划和资源分配。
    进度管理:监控和控制项目进度。
    风险管理:识别和应对项目风险。
    2.7 版本控制
    Git:使用Git进行版本控制和代码管理。
    分支管理:了解如何创建和管理分支。
    2.8 文档和沟通
    文档编写:编写技术文档和用户手册。
    沟通技巧:有效沟通和协作,确保团队一致性。

  3. 学习资源
    3.1 书籍
    《软件工程:实践者的研究方法》 by Roger S. Pressman
    《设计模式:可复用面向对象软件的基础》 by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
    《人月神话》 by Frederick P. Brooks Jr.
    3.2 在线课程
    Coursera:Software Engineering for Everybody
    edX:Introduction to Software Engineering
    Udacity:Software Engineering Fundamentals
    3.3 其他资源
    GitHub:查找开源项目和代码示例
    Stack Overflow:解决编程问题和获取开发者社区的帮助
    YouTube:查找软件工程的教程和讲座

  4. 实践建议
    动手实践:参与实际的开发项目,应用所学知识。
    项目经验:积累项目经验,了解团队协作和项目管理的实际情况。
    代码审查:参与代码审查,学习改进和优化代码的方法。

  5. 考试和评估
    理解基本概念:确保对软件工程的基本概念和流程有清晰的理解。
    解决实际问题:能够应用知识解决实际开发中的问题。
    项目展示:能够展示和解释自己参与的项目和实践经验。

个人分析
该学习指南十分全面,不仅给出软件工程这门课程的概述,还对软件工程中的大主题进行总结,简练精明;同时给出了不少的学习资源的获取渠道,并给出适当的实践提议;总结,根据上述学习指南,初学者能够进行系统性的学习,为未来软件工程课程的完成打下坚实的理论和实践基础,也是为未来工作铺好了出发的道路

posted @ 2024-09-04 12:08  102201630岳俊杰  阅读(13)  评论(0编辑  收藏  举报