首页 > 其他分享 >学习总结:《代码中的软件工程》

学习总结:《代码中的软件工程》

时间:2023-07-09 23:13:07浏览次数:42  
标签:总结 软件开发 项目 代码 软件工程 软件 我们

在学习过程中,我对《代码中的软件工程》这本书有了一些深入的理解,并结合本课程的学习内容,我想就一些亮点和个人见解进行总结。

通过学习,可以系统掌握软件工程这门实践与理论相结合的学科;对于复习系统知识,进阶理论来说大有裨益,本书的框架如下,推荐大家参考和阅读:

• 【实践为主】工欲善其事必先利其器——打字速度的提升、VSCode的强大编辑功能、Git版本控制的魔法、Vim编辑器的快捷指令、正则表达式的威力。
  	- 在日常的软件开发中,高效的打字速度是一个必不可少的技能,它可以极大地提高我们的工作效率。通过练习和使用打字工具,我们可以成为键盘上的行云流水大师,做到思维与手指的完美同步。
	- VSCode作为一款强大的编辑工具,提供了丰富的功能和插件,为我们的开发工作带来了极大的便利。它支持多种语言和框架的开发,并且具有智能补全、代码格式化、调试等功能,让我们的编码过程更加高效舒适。
	- Git是现代软件开发中必备的版本控制系统,它可以帮助我们追踪代码的变化,协作开发和管理项目。通过学习Git的基本概念和命令,我们可以轻松地管理代码的版本,解决冲突,回滚修改等,提高代码质量和团队协作效率。
	- Vim是一款老牌的编辑器,以其高度可定制和强大的快捷指令而闻名。虽然上手稍微有点困难,但是一旦掌握了Vim的使用技巧,你会感受到自己如同一个速度与激情的代码战士,为代码的编写增添了一份独特的魅力。
	- 正则表达式是处理文本和字符串的利器,它可以帮助我们快速搜索、匹配和替换符合特定规则的文本。掌握正则表达式的语法和技巧,可以大幅提升我们处理数据和文本的效率,让我们在数据挖掘、日志分析等领域中游刃有余。
	
• 【实践为主】代码中的软件工程——一个工程化C语言项目范例
	- 通过一个工程化的C语言项目范例,我们可以更好地理解软件工程在实际项目中的应用。这个范例项目涵盖了从需求分析、设计、编码、测试、维护等多个阶段,涉及到工程项目管理、代码规范、版本控制、单元测试等方面的知识和技能。
	- 在这个项目中,我们将直面真实的需求,追求代码的高质量和可维护性。通过合理的代码架构和设计模式的运用,我们可以让代码更易读、易扩展、易测试,在项目的长期演进中更加灵活和稳定。
	- 此外,对于这个C语言项目范例,我们还可以学习和应用一些常见的开发工具和库,如make工具、调试器、常用数据结构和算法等。这将帮助我们更好地理解和应用软件工程的实践技巧,为我们未来的软件开发之路打下坚实的基础。

• 【理论结合】需求分析与设计——从分析到设计的基本方法
	- 需求分析是软件工程的重要阶段之一,是确保软件项目成功的关键。借助合理的需求分析方法,我们可以深入理解用户需求,明确项目的目标和范围,为后续的设计和开发提供清晰的指导。
	- 在需求分析阶段,我们可以运用各种技术和工具,如用户访谈、用例分析、数据图等,以确保我们准确理解和捕捉到用户的真实需求。通过与用户的有效沟通和协作,我们可以避免需求的不明确和变更,提高项目的成功率和客户满意度。
	- 在设计阶段,我们可以运用面向对象设计、结构化设计、模型驱动设计等方法,将需求转化为具体的系统结构和功能模块。通过合理划分和组织代码,使用适当的设计模式和架构风格,我们可以提高软件的可扩展性、可维护性和性能。
	
• 【理论结合】软件系统设计——软件的结构、特性和描述方法
	- 软件系统设计是软件工程中的核心环节,它涉及到软件的结构、特性和描述方法等方面的知识和技能。在软件系统设计中,我们需要结合软件需求和软件架构,制定合理的设计方案。
	- 一个良好的软件设计应该具备模块化、可扩展、可维护、高内聚低耦合等特点。我们可以借助设计原则和设计模式,如单一职责原则、开闭原则、工厂模式、策略模式等,来指导和优化我们的软件设计。
	- 此外,软件的描述方法也是软件系统设计中的重要内容,它可以帮助我们更好地理解和沟通系统的设计思想和实现细节。常见的软件描述方法包括UML建模语言、设计文档、结构化图表等,通过使用这些方法,我们可以清晰地传达我们的设计意图,方便团队协作和项目维护。

• 【理论结合】工程过程与项目管理——软件危机的前生后世
	- 在软件开发过程中,工程过程和项目管理是确保项目成功的关键因素。这些方面涉及到项目计划、进度控制、需求管理、风险管理等,对于项目的顺利进行起着重要的作用。
	- 软件危机是早期软件开发中普遍存在的一种问题,它指的是项目过程和结果不符合预期,导致项目无法成功交付。通过研究软件危机的前生后世,我们可以了解开发过程中可能出现的各种问题和挑战,提前预防和解决这些问题。
	- 在工程过程和项目管理中,我们可以借鉴和应用一些成熟的方法和工具,如敏捷开发方法、SCRUM框架等。这些方法和工具可以帮助我们合理规划项目,提高团队的协作和沟通效率,有效管理和控制项目的进度和质量。

通过对上述内容的学习和应用,可以全面提升软件工程的能力,为未来的软件项目开发和管理打下坚实的基础。

课程框架

1、软件工程的重要性以及在软件开发过程中的应用。它提醒我们软件开发不仅仅是写代码,还包括需求分析、设计、测试、维护等多个阶段。软件工程的核心在于管理和组织开发过程,确保项目按时交付、质量可靠。
2、代码质量的重要性。一些好的实践方法,如代码重构、代码复用、代码规范等,都有助于提高代码的可读性、可维护性和可测试性。同时,合理的代码架构和设计模式的运用也是提高代码质量的关键。
3、敏捷开发和持续集成的概念。敏捷开发方法强调以人为本,快速交付可用软件,并通过迭代循环不断改进和优化。而持续集成则是将软件开发过程中的各项工作结合起来,通过不断集成、构建和测试来确保软件质量。
总结起来,通过学习本书和本课程,我对软件工程的理念和方法有了更深入的了解。在实践中,我将更注重团队协作、合理规划开发过程、保证代码质量,并不断学习和应用新的技术和方法。这将有助于提高软件开发效率、降低项目风险,同时为用户提供更好的软件产品和服务。

【免费开源】PPT:

https://gitee.com/mengning997/se/tree/master/ppt

【免费开源】本书配套的源代码:

https://gitee.com/mengning997/se/tree/master/src

参考资料《代码中的软件工程》:

https://gitee.com/mengning997/se

标签:总结,软件开发,项目,代码,软件工程,软件,我们
From: https://www.cnblogs.com/xusun/p/17539622.html

相关文章

  • 3. Q_ 下列HTML代码是否正确_
    Q:下列HTML代码是否正确?<figure><imgsrc="myimage.jpg"alt="Myimage"><figcaption><p>Thisismyselfportrait.</p></figcaption></figure>A:正确<figure>标签规定独立的流内容(图像、图表......
  • CQBZ周考六思想总结
    cqbz周考6总结第一题veryEZ,看到mod,又只是求数量,所以直接分段探讨(毕竟可以枚举b)就彳亍了   还是感谢样例让我看到了特殊情况第二题   是我很难受的,我写了一个plus版本的,交的时候交的是原版本的,痛失50pts   为什么是50pts,因为我找人的时候是O(n)的,当时忘记lower_......
  • Hash 学习笔记与总结
    Hash算法学习笔记与总结目录Hash字符串Hash信息学奥赛一本通AcWing模板模板题题目大意CODEHash表拉链法开放寻址法模板题题目大意CODEHash哈希算法是通过一个哈希函数H,将一种数据(包活字符串、较大的数等)转化为能够用变量表示或是直接就可作为数组下标的数,道过哈希函数......
  • 7.9总结
    今天上午起床后刷视频,看了会javaweb的知识,被其中软件的安装等等东西卡住了,然后就刷视频,睡觉。下午做pta,做了一点车票管理系统的框架,功能还在慢慢摸索,大约五点多,妈妈回家了,然后就和她一起去地里打药。两个人快了很多,一开始有点热,后来习惯了,回家后就吃饭,写博客。......
  • 7.09 周日总结
    今天学习了赋值运算符和关系运算符,四种逻辑运算符(与&,或|,异或^,取反!),短路逻辑运算符(&,|无论左边是否正确,右边都会执行;&&,||如果左边可以确定表达式结果,右边不会执行),三元运算符和运算符的优先级以及原码反码补码,完成了运算符部分的内容。并且复习了前面所讲的知识点,并根据所学内容......
  • 七月九日总结
    早上8点起床洗漱吃饭修养身体。中午吃完午饭午睡一会起来以后学习java,吃完晚饭洗漱,准备睡觉。明天继续修养身体,同时进行Java的进一步学习。睡觉时间较晚,需要早睡,学习时间需要进一步增多。......
  • 最简单模拟swiper功通的代码
    <divclass="swiper-container"><divclass="swiper-wrapper"><divclass="swiper-slide">slider1</div><divclass="swiper-slide">slider2</div><divcla......
  • 常用的markdown的格式总结
    markdown格式<center>居中<center>;<divalign='center'>居中</div>实现文字居中。\tag{}公式编号。常用的markdown格式的链接https://blog.csdn.net/Annie_0321/article/details/115764983markdown花体字的写法。https://www.jianshu.com/p/d26dbcb26cc5ma......
  • 助教工作总结(前端开发技术)
    一、助教工作的具体职责和任务(1)和老师配合的方面理论课(1) 老师会在每一块内容授课结束后发布相应云班课的作业,在理论课进行时,我主要的工作是负责的作业批改,和提醒同学们修改,解答同学们在实操时遇到的一些问题。(2) 定期收集课程的评价,同学们对课程某些方......
  • 8. Q_ 如下代码中文本_Sausage_的颜色是_
    Q:如下代码中文本“Sausage”的颜色是?<ulclass="shopping-list"id="awesome"><li><span>Milk</span></li><liclass="favorite"id="must-buy"><spanclass="highlight">Saus......