Eeonghan

导航

2024秋软件工程个人作业(第一次)

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243
这个作业的目标 初步认识AIGC、GitHub和博客园的使用
学号 102201306

1.个人logo文生图任务

1.1 使用工具:Craiyon

1.2 使用元素:蜡笔小新 电脑

1.3 设计理念:

  • 蜡笔小新是我最喜欢的动漫人物,形象特别可爱,搭配上使用电脑的动作,更有一种萌感,符合我想创建的博客主题。
  • 我个人更喜欢色彩鲜明的图片,整体看起来比较活力且舒服。

1.4 设计过程:

首先我给出了我想生成的图片的描述

接着在生成的图片中选出我想要的一张

1.5使用体验和感想

  1. AIGC极大地提高了创作的效率,只需要给出想要的图片的关键词,不到一分钟便可以收获许多图片。
  2. 但是AIGC还是存在局限性。例如,刚才我试着使用国内影视人物的名字进行生成,结果完全没有关联,说明模型还不够完整。

2.Github个人主页搭建

3.随笔

3.1自我评估

  • 目前我掌握的:
    A.初步掌握C/C++的一些相关知识,会用C++进行面向对象的编码,可以写一些简单的数据结构
    B.掌握前端中的javascript、css技术
  • 我感兴趣的:计算机前端技术、软件开发
  • 我的不足:缺少项目经历
  • 我的代码量:我认为我的代码量还是不足,希望在这学期之后能够拥有更多的代码量。

3.2我的期望

  • 希望在课程中学会一些前端开发的知识和经验
  • 希望在课程中了解一些项目开发中会产生的问题
  • 希望能够有机会参与项目的开发

3.3软件工程学习指南(由ChatGPT生成)

软件工程学习指南

1. 基础概念

1.1 软件工程定义
  • 软件工程:应用工程原理来设计、开发和维护软件系统的学科。
1.2 软件开发生命周期(SDLC)
  • 需求分析:确定用户需求和系统功能。
  • 系统设计:设计系统架构、模块和接口。
  • 实现:编写代码,构建软件。
  • 测试:验证软件是否符合需求,找出并修复缺陷。
  • 部署:将软件系统部署到生产环境。
  • 维护:进行软件更新和问题修复。
1.3 软件工程原则
  • 模块化:将系统分解为小的、可管理的模块。
  • 封装:隐藏模块的内部实现细节,只暴露必要的接口。
  • 重用:利用已有的软件组件来减少开发工作量。
  • 可维护性:设计软件时考虑到未来的维护和修改。

2. 核心内容

2.1 需求工程
  • 需求收集:通过访谈、调查问卷等方法获取需求。
  • 需求建模:使用UML图(用例图、类图等)描述需求。
  • 需求规格说明书:详细记录需求,作为开发和测试的依据。
2.2 设计
  • 架构设计:定义系统的整体结构和模块之间的关系。
  • 详细设计:设计模块内部的逻辑和数据结构。
  • 设计模式:常用的设计模式包括单例模式、工厂模式、观察者模式等。
2.3 编码
  • 编程语言:选择适合的编程语言(如Java、Python、C++等)。
  • 编码规范:遵循代码风格和命名规则,提高代码可读性和可维护性。
  • 版本控制:使用工具(如Git)管理代码版本和变更。
2.4 测试
  • 单元测试:测试单个模块或函数的正确性。
  • 集成测试:测试多个模块的交互。
  • 系统测试:测试整个系统的功能和性能。
  • 验收测试:验证系统是否满足用户需求。
2.5 项目管理
  • 项目计划:制定项目的时间表、资源计划和预算。
  • 风险管理:识别和管理项目风险。
  • 进度跟踪:监控项目进展,确保按时交付。

3. 常用工具

3.1 需求管理工具
  • JIRA:跟踪需求、缺陷和任务。
  • Trello:项目管理和任务跟踪。
3.2 设计工具
  • Lucidchart:绘制UML图和流程图。
  • Draw.io:在线绘图工具,适合设计各种图表。
3.3 编码工具
  • IDE:集成开发环境,如IntelliJ IDEA、Visual Studio Code。
  • 版本控制系统:Git(与GitHub或GitLab配合使用)。
3.4 测试工具
  • JUnit:Java应用的单元测试框架。
  • Selenium:自动化Web应用测试工具。
  • Jenkins:持续集成工具,用于自动化构建和测试。
3.5 项目管理工具
  • Microsoft Project:项目计划和管理工具。
  • Asana:团队协作和任务管理工具。

4. 实践技巧

4.1 代码审查
  • 定期进行代码审查,以确保代码质量和一致性。
4.2 持续集成和持续交付(CI/CD)
  • 实施CI/CD管道,自动化构建、测试和部署过程,提高开发效率。
4.3 文档化
  • 维护清晰的文档,包括需求文档、设计文档和用户手册,以便于团队协作和后续维护。
4.4 反馈循环
  • 通过用户反馈和测试结果不断改进软件,进行迭代开发。

3 4.5 学习与改进

  • 保持学习最新的技术和方法,参与技术社区和培训,提升自己的技能。

分析:这份指南相对完整,但还是不那么详细,对我的学习有帮助

4.作业要求

posted on 2024-09-06 20:12  Eeonghan  阅读(11)  评论(0编辑  收藏  举报