软件工程第一次个人作业

Posted on 2024-09-05 00:04  kentozaki  阅读(15)  评论(0编辑  收藏  举报
这个作业属于哪个课程 软件工程2024(福州大学-计算机与大数据学院)
这个作业要求在哪里 2024秋软件工程个人作业(第一次)
这个作业的目标 了解github和博客园的基本操作,学会Markdown的基本使用方法以及ai画图,更加全面地认识自我和这门课程并进行合理规划
学号 102201342

1.个人logo文生图任务

1.1设计理念

小鸟代表着自由与梦想,弯月象征着夜晚的沉静和破晓的未来,而我名字最后一个字的首字母是Q,小鸟和弯月正好构成了Q这个字母的外形。再有“月出惊山鸟,时鸣春涧中”,意境空灵出尘。

1.2设计步骤

使用了craiyon,一开始我输入了自己想制作的三个要素,小鸟月亮与字母Q,结果出来的图片都不符合我的设想

为了统一风格,我希望自己的logo是简洁的黑白标志,于是我加入新的要求,这次生成的图相较于上次有了很大的进步

最后我加入logo这个要求,使生成的图更符合我想要的类型

1.3体验与感想

使用craiyon制作logo的过程非常有意思,它可以根据你的描述生成各种图片。但是生成的结果还是有很大的不可控性,有时候并不能很好地理解你的想法,需要进一步精确关键词来进行调整,希望以后的ai绘图工具可以更加强大和智能。

2.Github个人主页搭建

3.自我评估

3.1目前具备的专业知识和能力

目前我已初步具备三种能力,基础使用C和C++写代码的能力,使用figma画原型图和制作简单UI页面的能力,以及使用Pr制作视频的能力。

3.2感兴趣的技术方向

目前我对UI设计以及产品方向感兴趣,并且为一个项目制作了一套UI界面,我会不断深入探索。同时我对前端也有些兴趣,接下来会尝试学习。

3.3缺少的能力

我的代码能力较弱,课下的练习也浅尝辄止,实战经验也很缺失。我对项目的了解也很基础,希望在软件工程这门课上了解并学习到更多。

3.4代码量

之前的代码量应该不过千,希望在这门课后过千。

3.5期待

期待自己在这门课中更加深入了解软件开发过程,锻炼自己的实践能力,确定自己以后的职业规划和发展方向,学会团队合作和沟通需求。

3.6软件工程学习指南

使用chatgpt 4o mini生成

1. 基础知识

  • 软件工程概述

    • 了解软件工程的定义、目标和生命周期。
    • 学习软件开发模型(如瀑布模型、迭代模型、敏捷开发)。
  • 需求工程

    • 学习如何收集和分析需求。
    • 熟悉需求规格说明书(SRS)的编写和维护。
  • 设计原理

    • 学习软件设计的基本原则(如SOLID原则)。
    • 掌握设计模式(如单例模式、工厂模式、观察者模式等)。
  • 编码标准

    • 了解编码规范和最佳实践。
    • 学习代码的可读性和可维护性原则。

2. 开发工具与环境

  • 版本控制系统

    • 学习Git的基本操作(如克隆、提交、合并、冲突解决)。
    • 理解分支策略和代码评审的流程。
  • 集成开发环境(IDE)

    • 掌握常用IDE(如IntelliJ IDEA、Eclipse)的使用。
    • 了解调试工具和插件的使用。
  • 构建工具

    • 学习构建工具(如Maven、Gradle)的基本使用。
    • 理解依赖管理和构建自动化的概念。

3. 软件测试

  • 单元测试

    • 学习编写和执行单元测试(如JUnit、TestNG)。
    • 理解测试用例的设计和覆盖率分析。
  • 集成测试和系统测试

    • 了解集成测试的目的和方法。
    • 学习如何进行系统测试和验收测试。
  • 测试自动化

    • 了解自动化测试框架(如Selenium、Cucumber)。
    • 学习编写自动化测试脚本和测试报告。

4. 软件开发过程

  • 项目管理

    • 学习项目管理的方法(如敏捷、Scrum)。
    • 了解任务分解、进度管理和风险控制。
  • 持续集成与持续交付(CI/CD)

    • 掌握CI/CD工具(如Jenkins、GitLab CI)的使用。
    • 理解自动化部署和持续交付的流程。
  • 文档编写

    • 学习编写技术文档(如设计文档、用户手册)。
    • 了解文档的维护和版本控制。

5. 高级主题

  • 架构设计

    • 学习软件架构模式(如微服务架构、服务导向架构)。
    • 理解系统的可扩展性和高可用性设计。
  • 性能优化

    • 掌握性能分析工具(如JProfiler、VisualVM)。
    • 学习性能优化的策略和技术。
  • 安全性

    • 了解常见的安全漏洞(如SQL注入、跨站脚本)。
    • 学习安全编码实践和漏洞扫描工具。

6. 实践与项目

  • 个人项目

    • 尝试构建小型项目,应用所学的知识。
    • 实践开发、测试和部署的全过程。
  • 开源贡献

    • 参与开源项目,学习团队协作和代码评审。
    • 提交拉取请求(PR)并参与讨论。
  • 实习与工作经验

    • 争取相关领域的实习机会,积累实际经验。
    • 了解行业标准和最佳实践。

学习资源

  • 书籍

    • 《人月神话》(Frederick P. Brooks Jr.)
    • 《设计模式:可复用面向对象软件的基础》(Erich Gamma等)
    • 《测试驱动开发》(Kent Beck)
  • 在线课程

    • Coursera、edX上的软件工程课程
    • Udemy上的编程和项目管理课程
  • 社区与论坛

    • Stack Overflow
    • GitHub社区

分析

这份学习指南很合理,覆盖了软件工程的核心领域,从基础概念到高级技术,结构清晰。它提供了详细的学习方法和路径,帮助我全面了解软件开发的关键知识和技能。

Copyright © 2024 kentozaki
Powered by .NET 9.0 on Kubernetes