自我评估

news/2024/9/21 20:27:26/文章来源:https://www.cnblogs.com/Con1427/p/18399162
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243
这个作业的目标 熟悉Github和博客园,了解其基本操作,完善自我信息并学习Markdown的基本使用方法以及AIGC画图
学号 102202132

一.个人logo文生图任务

1.1.设计图片:

1.2.设计理念:

  • 云朵的形状可以有多种解读,它可以象征着存储在云端的数据,代表着计算机的强大存储和计算能力;也象征着自然的柔和、灵动与变化,
  • 将其与计算机这一科技产物相结合,寓意着科技可以像云朵一样,既具有强大的功能性和实用性,又能给人带来舒适、轻松的感受。

1.3.设计过程:

1.打开Craiyon网站,导入前期图片(cloud)并输入关键词(cloud computer)

1.4.体验与感想:

  • 使用Craiyon工具过程中,在未导入模板 图片前生成图片与文字描述预期差别较大,图片设计需要较多的凭借支持。但其优点不可忽视:1.高效便捷 - 无需花费大量时间进行手工绘制或使用复杂的图像编辑软件,只需输入描述性的文字,就能快速获得想要的图像结果。 2. 创意激发 - 工具能够根据输入的文字生成各种不同的图像,这有助于激发创作者的创意。 3. 多样化 - 可以生成多种风格和类型的图像,满足不同的需求和审美偏好。

二、Github个人主页搭建

2.1.个人主页要求:

  • 介绍你自己。比如你的兴趣爱好,你认为值得向别人展示的记忆,可以使用照片丰富网页,并把个人资料截图放在作业博客中。
  • 介绍自己的成就、成果,技能和专业相关经验经历,并进行自我评估。目前你已经具备了哪些专业知识和能力;你对哪类技术方向有兴趣;你最想学习哪些方面的知识。
  • 规划自己未来三年的发展设想。考研?保研?工作?考公?你可以谈一谈自己未来三年的目标,并给出理由。

2.2.个人资料截图:

三、自我评估

1. 目前具备的专业知识和能力:

  • 编程基础:掌握Python、Java 和 C等多种编程语言,能够编写中小型的应用程序。
  • 绘图工具:了解并会使用部分绘图工具如matplotlab绘图制作等

2. 技术方向兴趣:

  • 自然语言处理技术:不断提升对自然语言的理解和生成能力,以更好地与用户交流互动。
  • 人工智能在知识问答中的应用:探索如何利用人工智能技术提高回答的准确性和个性化程度。

3. 缺少的能力:

  • 代码编写能力较低,较经常使用AIGC辅助编写,且课程中编程语言的学习层面较低,水平不高。
  • 不能处理图像、音频等多模态信息,与用户的交互方式较为单一。
  • 缺少大程序大软件的时间经验,个人工作效率低。

4、代码量与期望

到目前为止代码量应该在四五千左右,希望经过该软件工程课程学习到软件工程的全流程管理方法,包括需求分析、设计、开发、测试和维护等各个阶段的最佳实践。同时,希望了解软件工程中的团队协作模式和项目管理技巧,以及如何应对软件开发中的各种挑战。

5、使用chatgpt生成软件工程学习指南并分析

《软件工程学习指南》

一、课程概述

软件工程是一门综合性极强的学科,它深入研究软件开发、维护和管理的全过程,强调在整个软件生命周期中应用工程原则和方法,以大幅提高软件质量和项目效率。软件工程融合了计算机科学、管理学、经济学、心理学等多学科的知识和理念,旨在打造可靠、高效、易用的软件产品。

二、基础知识

  1. 软件定义
  • 软件是指具有具有复杂性、可变性、不可见性等显著特点一系列指令、程序和相关文档,用于执行特
    定任务,确保硬件资源的有效管理和分配。
  1. 软件工程
  • 软件工程是应用工程原理、方法和工具来开发和维护软件系统的学科。
  • 软件工程涉及多个方面的知识和技能,除了传统的编程技能外,还包括需求分析、软件设计、测试、项目管理、配置管理等。
  • 软件过程包括计算机科学、数学、管理学、经济学等。计算机科学为软件工程提供了编程技术、算法设计、数据结构等基础技术支持。
  • 需要的工具和技能包括编程语言(如 Java、Python、C++ 等)、开发工具(如 IDE、版本控制工具、测试工具等)、数据库管理技能、网络知识、安全知识等。编程语言是实现软件功能的基础工具,开发人员需要熟练掌握至少一种编程语言。

三、核心概念

  1. 软件开发生命周期(SDLC):描述软件从概念到退役的整个过程。
  2. 需求分析:确定用户需求并制定相应的文档。
  3. 软件设计:制定系统架构,包括模块划分和接口设计。
  4. 编码:将设计转化为可执行的程序代码。
  5. 测试:验证软件的功能和性能,确保其质量。
  6. 维护:对软件进行更新和修复,以适应用户需求的变化。

四、软件开发过程

  1. 需求获取:通过访谈、问卷和观察收集用户需求。
  2. 需求分析:制定需求规格说明书,详细描述功能和性能要求。
  3. 系统设计:高级设计(架构设计)和详细设计(模块设计)。
  4. 编码实现:使用编程语言实现设计,遵循编码规范。
  5. 测试:包括单元测试、集成测试、系统测试和验收测试。
  6. 部署:将软件发布到生产环境,供用户使用。
  7. 维护:修复 bug、进行性能优化和功能扩展。

五、软件维护

  1. 维护类型
    • 纠正性维护:纠正性维护是修复软件中存在的缺陷和错误,需要建立相应的问题跟踪机制,及时发现和记录软件中的问题
    • 适应性维护:适应性维护是根据环境变化调整软件,需要建立相应的环境监测机制,及时发现和记录软件运行环境的变化。
    • 完美维护:完美维护是增强软件功能和性能,需要建立相应的需求收集和分析机制,及时了解用户的需求和期望。
  2. 维护策略:定期更新和版本管理,确保软件的长期健康和可用性。

六、实践与项目

1.项目管理:

  • 使用工具如 JIRA、Trello 进行任务跟踪和团队协作。这些工具可以帮助项目团队有效地管理项目进度、任务分配、问题跟踪等,提高项目管理的效率和透明度。
  • 制定项目计划,包括项目的目标、范围、进度、资源分配等。项目计划应根据项目的实际情况和需求进行制定,确保项目的顺利进行。
  • 进行项目风险管理,识别项目中可能出现的风险,并制定相应的风险应对措施。风险管理可以帮助项目团队提前预防和应对风险,降低项目的风险和损失。
  • 进行项目沟通管理,建立有效的沟通机制,确保项目团队成员之间、项目团队与用户之间的沟通顺畅。沟通管理可以帮助项目团队及时了解项目的进展情况和用户需求,提高项目的质量和用户满意度。

2.开发方法论:

  • 敏捷开发:快速迭代,频繁交付。敏捷开发强调团队的协作和沟通,通过快速迭代和频繁交付,及时响应用户需求的变化,提高软件的质量和用户满意度。
  • 瀑布模型:线性开发,适用于需求明确的项目。瀑布模型强调阶段的划分和顺序执行,适用于需求明确、稳定的项目。
  • 混合开发:结合敏捷开发和瀑布模型的优点,根据项目的实际情况进行灵活选择。混合开发可以在保证项目质量的前提下,提高项目的开发效率和灵活性。

3.版本控制:

  • 使用 Git 或 SVN 管理代码变更,促进团队协作。版本控制工具可以帮助团队成员有效地管理代码的变更和版本历史,避免代码冲突和丢失,提高团队协作的效率和质量。
  • 建立版本控制规范,包括代码提交规范、分支管理规范、标签管理规范等。版本控制规范可以确保版本控制工具的正确使用,提高代码的管理和维护效率。
  • 进行版本发布管理,包括版本的构建、测试、发布等。版本发布管理可以确保版本的质量和稳定性,提高软件的发布效率和用户满意度。

4.实践项目案例:

  • 介绍一些实际的软件开发项目案例,包括项目的背景、目标、技术选型、开发过程、项目成果等。通过实际项目案例的介绍,可以帮助学生更好地理解软件工程的理论知识和实践方法,提高学生的实践能力和解决问题的能力。
  • 分析项目中的成功经验和不足之处,总结项目中的教训和启示。通过项目案例的分析,可以帮助学生更好地吸取经验教训,提高项目管理和开发的水平。

七、学习资源

  1. 在线课程
    • Coursera:提供多种软件工程相关课程。
    • edX:与顶级大学合作,提供高质量学习资源。
    • Udacity:专注于技术领域的短期课程和纳米学位。
  2. 书籍推荐
    • 《软件工程:实践者的研究》 - Roger S. Pressman
    • 《设计模式:可复用面向对象软件的基础》 - Erich Gamma 等
    • 《人月神话》 - Frederick P. Brooks Jr.
  3. 论坛与社区
    • Stack Overflow:解决技术问题,获取开发者支持。
    • GitHub:托管开源项目,学习与分享代码。

八、学习建议

  1. 定期参与小组讨论:与同学分享学习经验。
  2. 完成实际项目:通过实践巩固理论知识。
  3. 积极使用版本控制工具:记录学习过程,提高代码管理能力。
  4. 参与开源项目:获取实际经验,提升技能。
  5. 关注行业动态:了解软件工程领域的最新技术和趋势,不断学习和更新知识。

九、结语

软件工程是一门复杂而充满挑战的学科。通过系统的学习和实践,你将掌握关键技能,为未来的职业生涯打下坚实基础。保持学习热情,积极探索新技术和方法。

十、指南分析

  • 这份学习指南较为合理且对我有很大帮助。它全面涵盖了软件工程的各个方面,从基础知识到实践项目,再到学习资源和建议,形成了完整的学习体系。扩充后的内容丰富了相关学科和工具技能等,使学习者能更深入地理解软件工程。对于我来说,它明确了学习重点和方向,提供了具体方法和案例参考,以及丰富的学习渠道。有助于我系统地学习软件工程知识,提高实践能力,为未来的学习和职业发展奠定坚实基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/792739.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.常量 变量 类型转换 进制转换

常量 变量 类型转换 进制转换1.常量的使用2.变量的使用3.会强制类型转换一、常量(一)常量的分类1.概述:在代码的运行过程中,其值不会发生改变的数据2.分类: 整数常量:所有整数 小数常量:所有带小数点的 字符常量:带单引号,有且只能有一个内容 字符串常量:带双引号…

linux中tar命令的使用

tar简介 在linux中tar是一个常用的工具,用于打包和解压文件,全称是tape archive。 它能够将一组文件和目录打包成单个归档文件,也可以从归档文件中提取出文件和目录参数列表 使用实例介绍1.要创建一个归档文件,可以使用参数 -c 和 -f ,然后指定归档文件名例如要将/home/cy…

11.面向对象(3)

MODULE 11 面向对象会定义接口会在接口中定义抽象方法,默认方法,静态方法,成员变量会调用接口中的成员会利用多态的方式new对象知道多态的前提要知道使用多态的好处会在多态的前提下,向下转型会利用instanceof判断类型一.接口(一)接口的介绍1.接口:是一个引用数据类型,是一个…

8.封装

MODULE 8 封装1.要回使用private关键字修饰成员,并知道被private修饰之后的作用(访问特点)是什么2.会使用set方法为属性赋值,使用get方法获取属性值3.会利用this关键字区分重名的成员变量和局部变量4.会利用空参构造创建对象,并知道空参构造作用5.会使用有构造创建对象…

9.面向对象(1)

MODULE 9 面向对象1.会定义静态成员以及会调用静态成员2.会使用可变参数(会给可变参数传参)3.会二分查找(手撕)4.会冒泡排序(手撕)5.会debug的使用一、static关键字(一)static的介绍以及基本使用1.概述:static是一个静态关键字2.使用:(1)修饰一个成员变量:stat…

深入了解Vite:依赖预构建原理

前言 前面我们有提到Vite在开发阶段,提倡的是一个no-bundle的理念,不必与webpack那样需要先将整个项目进行打包构建。但是no-bundle的理念只适合源代码部分(我们自己写的代码),vite会将项目中的所有模块分为依赖与源码两部分。 依赖: 指的是一些不会变动的一些模块,如:…

1000多天我开发了一个免费的跨浏览器的书签同步、阅读排版、任意网页标注插件

自我介绍 大家好,我是阿浩,一位后端开发工程师,同时也略懂前端技术。业余时间,我开发了这款小工具——《藏趣云》。 我为什么要写这么个工具 需求来源于我自己,因为我是做开发的。我日常都会使用多款浏览器来测试项目,一次需要登录多个账号,寻找各种测试地址链接。之前因…

02-逻辑概述负判断

https://blog.csdn.net/vviccc/article/details/106694210 来源

信息学奥赛初赛天天练-83-NOIP2014普及组-基础题2-输入设备、输出设备、操作系统、二进制、整数除法、while、do while循环

1 NOIP 2014 普及组 基础题2 4 以下哪一种设备属于输出设备( ) A 扫描仪 B 键盘 C 鼠标 D 打印机 5 下列对操作系统功能的描述最为完整的是( ) A 负责外设与主机之间的信息交换 B 负责诊断机器的故障 C 控制和管理计算机系统的各种硬件和软件资源的使用 D 将没有…