软件工程第一次作业
📫一、个人logo生图任务
1. 使用工具
我使用的是openAI下的DALL-E生成logo。
2. 设计过程
- 我首先对自己的logo有以下初步的想法。作为一名就读计算机科学与技术专业的女孩子,我希望logo上有一个可爱小女孩的卡通形象,并且应该是阳光开朗的形象。logo上还要有计算机相关的元素。
- 给我反馈的图如下。
- 但我觉得元素太多,可以稍微简单一点。接着我便得到了这幅logo。
- 接着我想对图片中的小女孩的衣着和动作更加精修一下,并且又萌生了想要设计一个具有自己特点的logo,因此又叫它加上了dky的字样。经过一番修改最终得到了满意的图案。
3. 最终logo
4. 使用体验和感想
通过AIGC生成的图片一般是做不到一次就得到你想要的图片,需要和他不断地交流你的想法,并且需要表述清楚,这样他才能一定程度地了解你想要的图片的样式,并且根据你提供的想法生成图片。我觉得使用AIGC工具生成图片,非常方便且具有多样性,还是非常可取的。
🔭二、github个人主页搭建
我的个人主页链接:dky1126
以下是我的个人主页界面:
完整自我介绍README.md内容:
🌱三、随笔
markdown编译器:
1. 我已掌握的知识和能力
- 编程能力:C、C++、java等。
- 产品、设计能力:熟练掌握AxureRP等设计软件用法,熟悉产品经理应有的能力,会写需求文档等,为校西二在线研发的飞跃手册做过产品商业计划书。
2. 我还不足的知识和能力
在具体的前端开发方向还处在了解阶段,还未能熟练掌握其能力。
3. 代码量
由于参加acm团队,基本上每天都会进行训练,具有一定的代码量。期待未来代码量进一步突破。
4. 对课程的期待
之前的课程多数是个人完成,了解到软件工程课程需要多人完成一个项目工程,自是少不了期待。希望能在组队的过程中学习到更多之前不懂的知识,更加熟练与他人配合完成项目。
5. 软件工程学习指南
1. 基础知识
编程语言:
Python:适合初学者,广泛用于数据科学和Web开发。
Java:用于企业级应用和Android开发。
JavaScript:用于前端开发和全栈开发。
算法与数据结构:
基础算法:排序、搜索、递归、动态规划。
数据结构:数组、链表、栈、队列、树、图。
2. 软件开发生命周期
需求分析:
理解需求文档。
与客户沟通,定义功能和规格。
设计:
系统设计:架构设计、数据库设计、API设计。
界面设计:用户体验(UX)、用户界面(UI)设计。
实现:
编码规范和最佳实践。
版本控制(如Git)。
测试:
单元测试:测试单个模块的功能。
集成测试:测试模块间的交互。
系统测试:测试整个系统的功能和性能。
部署和维护:
部署:将应用程序部署到生产环境。
维护:修复bug、更新功能、优化性能。
3. 工具与技术
开发工具:
集成开发环境(IDE):如Visual Studio Code、IntelliJ IDEA。
调试工具:掌握调试技巧,使用调试器。
版本控制:
Git:基本操作如commit、branch、merge。
项目管理:
敏捷方法论:Scrum、Kanban。
项目管理工具:如Jira、Trello。
4. 进阶学习
设计模式:
了解常用设计模式,如单例模式、工厂模式、观察者模式。
架构模式:
学习分层架构、微服务架构、事件驱动架构。
前端开发:
学习HTML、CSS、JavaScript及前端框架(如React、Vue.js)。
后端开发:
学习服务器、数据库(如MySQL、MongoDB)、API开发。
DevOps:
了解持续集成/持续部署(CI/CD)、容器技术(如Docker)。
5. 实践项目
个人项目:
选择一个兴趣项目,应用所学知识进行开发。
开源贡献:
参与开源项目,了解真实世界的开发流程。
团队项目:
在团队中合作开发,了解团队协作和沟通的重要性。
6. 资源推荐
书籍:
《Clean Code》 - Robert C. Martin
《Design Patterns: Elements of Reusable Object-Oriented Software》 - Gamma et al.
在线课程:
Coursera:软件工程基础、算法课程。
Udemy:编程语言、项目开发课程。
社区与论坛:
Stack Overflow:解决编程问题。
GitHub:学习和参与开源项目。
分析
以上学习指南通过ChatGPT生成,我认为还是很有用的。它具有一定的系统性,为我提供了学习资源等,但是缺少一定的个性化。没办法了解个人的情况,根据个人的学习进度提供个性化的学习指南。