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

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243
这个作业的目标 1. 为后续实践作业打好基础做好准备工作
2. 直观体会AIGC的强大力量
3.掌握Markdown编辑器的使用
学号 102201308

1.个人logo文生图任务

使用工具:Craiyon

使用步骤:

先在脑海里构思我想要什么样的效果,然后与Craiyon对话,准确地告诉他我想要生成logo的元素,等待生成。

设计理念:


白鸽是我追星的粉丝象征,为了符合博客园和github以及我学的专业,我加入了电脑元素。幸运的是Craiyon第一次生成,我就挺满意直接采用了。

使用体验和感想:

这次使用Craiyon生成logo之后,我深感ai之强大。但是用这个AIGC图像生成工具需要爬梯子,希望国内的AIGC工具也能蒸蒸日上,不输外国网站的效果。

2.Github个人主页搭建


3.个人随笔

自我评估:

目前已经具备的能力

A:对C语言较为熟悉,大部分的程序习惯用C语言写
B:能运用C++面向对象编程
C:会用CSS写一些简单的网页

目前缺少的能力

A:没有开发过软件,没有实战经验
B:学到的语言还太浅薄

代码量:

之前的代码量大概在5k行,希望这门课结束后我的代码量能翻倍

感兴趣技术方向:前端、Android

最期待在课程中能够学习到什么知识,有什么收获:

希望这门课结束之后,我能真正掌握开发软件的方法,成功设计出一个软件。

软件工程学习指南

1. 基础知识

1.1 编程基础

语言选择:选择一门主流编程语言(如Python、Java、C++、JavaScript)作为起点。
推荐书籍:《Python编程:从入门到实践》、《Java核心技术 卷 I》、《C++ Primer》。
在线课程:Codecademy、Coursera、edX上的编程入门课程。

1.2 计算机科学基础

数据结构与算法:了解常见的数据结构(如数组、链表、栈、队列、哈希表、树、图)以及基本算法(排序、搜索、动态规划等)。
推荐书籍:《算法导论》、《数据结构与算法分析》。
在线资源:LeetCode、HackerRank、GeeksforGeeks。

2. 软件工程核心概念

2.1 软件开发生命周期(SDLC)

阶段:需求分析、设计、实现、测试、部署、维护。
模型:瀑布模型、迭代模型、敏捷开发(Scrum、Kanban)。

2.2 需求分析

技巧:如何进行需求收集、用户故事、用例图。
工具:JIRA、Trello、Asana。

2.3 设计

设计原则:SOLID原则、设计模式(如单例模式、观察者模式、工厂模式)。
工具:UML(统一建模语言)、Lucidchart、draw.io。

2.4 实现

编码规范:代码风格、文档注释、版本控制(Git)。
工具:GitHub、GitLab、Bitbucket。

2.5 测试

类型:单元测试、集成测试、系统测试、验收测试。
工具:JUnit(Java)、pytest(Python)、Selenium(自动化测试)。

2.6 部署与维护

部署:持续集成/持续部署(CI/CD)、容器化(Docker)、云服务(AWS、Azure、Google Cloud)。
维护:错误修复、性能优化、技术债务管理。

3. 软件工程实践

3.1 敏捷开发

Scrum:了解Scrum框架、角色(产品负责人、Scrum Master、开发团队)、Sprint计划。
Kanban:看板管理、流动效率优化。

3.2 版本控制

Git:分支管理、合并冲突解决、提交规范。
工具:GitHub、GitLab、Bitbucket。

3.3 团队协作

沟通:有效沟通、代码审查(Code Review)、团队合作技巧。
工具:Slack、Microsoft Teams、Zoom。

4. 进阶技能

4.1 系统设计

架构模式:微服务架构、单体架构、服务导向架构(SOA)。
性能优化:负载均衡、缓存机制、数据库优化。

4.2 DevOps

概念:持续集成、持续部署、自动化测试。
工具:Jenkins、Docker、Kubernetes、Terraform。

4.3 安全性

知识:常见安全漏洞(如SQL注入、跨站脚本攻击XSS)、安全编码实践。
工具:OWASP ZAP、Burp Suite。

5. 资源推荐

5.1 在线学习平台

Coursera、edX、Udacity、Pluralsight:提供各种软件工程相关的课程和证书。

5.2 书籍推荐

《代码大全》 - Steve McConnell
《人月神话》 - Frederick P. Brooks Jr.
《设计模式:可复用面向对象软件的基础》 - Erich Gamma等

5.3 社区与论坛

Stack Overflow:技术问题解答和讨论。
Reddit:r/programming、r/softwareengineering等。

5.4 实践项目

开源项目:参与GitHub上的开源项目,积累实际开发经验。
个人项目:根据自己的兴趣开发项目,如博客系统、任务管理工具等。

学习指南思考:

我用Chatgpt写了一份简易的软件工程学习指南,这份学习指南全方位多维度地为我解答了如何入面,我体会到了要学好这门课不能闭门造车,要广泛地学习,学无止境。

posted @ 2024-09-06 20:22  -myimagination  阅读(22)  评论(0编辑  收藏  举报