软件工程课程总结

一、对前期提出的问题的回答

学了一个学期的《软件工程》之后再回顾自己第一天的博客,重新再看当初提出的问题,如今都在学习和实践中找到了自己的答案。

1.为什么我们不能只精通一种语言?

回答:

我总结一下自己大学三年的经历说一说吧。曾经大一的我以为精通C语言就够了,直到后来学习了Java,后来我发现Java还能写网站挺不错,直到发现部署windows太麻烦大三上个学期后又学习了C#,于是乎我以为C#就够了,结果发现网页很丑,然后又要学习了HTML5/CSS3,后来发现这样还不够炫,这个学期又有了J2EE的学习。于是就这样我跟着学校的课程学了一样有一样的技能,学的东西越多就会发现,好像自己会的东西越来越不够用。

所以我觉得分阶段来说:首先,要做的是,搞定一门语言,我们不说精通,因为没有几个人能精通一门语言,说自己精通XXX的,大多是吹嘘的。首先要搞定一门语言,如果知道好多门语言,结果做起项目来,稍微深一点的东西就做不了了。其次,你的主要语言周边的一些东西,开始接触别的语言。但是,需要注意的是,永远都是,学一个东西,就要让这个东西能工作,不然就是浪费时间。

我以为我们应该掌握至少两门语言(当然这只是个人意见,仅供参考):面向过程的和面向对象的!(1)c语言是面向过程中最好的语言了,而且也比较好学,容易入手! (2)Java是面向对象中最好的语言了,而且现在大部分编程都用用的Java。但是这门语言比较难入门,要有耐心。对于专业课当然要学好,数据结构和数据库当然要学好啦,学不好这些以后的课就很难看懂了!

2.什么是单元测试?

回答:

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

经常与单元测试联系起来的另外一些开发活动包括代码走读(Code review),静态分析(Static analysis)和动态分析(Dynamic analysis)。静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。

我认为测试应该是一个挺招程序员嫌弃的一个过程。测试到底有什么用呢?在我看来测试不可能保证一个程序是完全正确的,但是测试却可以增强我们对程序完整的信心,测试可以让我们相信程序做了我么期望它做的事情。测试能够使我们尽早的发现程序的 bug和不足。一个 bug被隐藏的时间越长,修复这个bug的代价就越大。在日常的开发中,代码的完工其实并不等于开发的完工。如果没有单元测试,那么如何保证代码能够正常运行呢?测试人员做的只是业务上的集成测试,也就是黑盒测试,对单个的方法是没有办法测试的,而且,测试出的 bug 的范围也会很广,根本不能确定 bug 的范围,还得去花时间来确定 bug 出在什么地方。难道这就不浪费时间了吗?甚至,这样的方式,时间浪费的会更多。

我的老师在上课的时候曾经警告我们:最后才修改一个bug的代过价是在bug产生时修改它的代价的10倍。我想正因为是这样单元测试才显的重要。它旨在强调在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完成全部功能的开发。

3.如何让自己的代码更简洁?

回答:

我在之前的博客上曾经明确的表达过自己观点:自己的才华应该表现在设计良好的结构和模式,表现在干净易懂的代码,表现在对空间的尊重,对代码的尊重。这样您才能赢得别人的尊重!代码不是一次性的,需要重复的修改和重构,所以我们很多时候是在为未来写点代码。

我的总结了几个步骤,依其重要顺序:

(1)能通过所有测试;(2)没有重复代码;(3)体现系统中的全部设计理念;(4)包括尽量少的实体,比如类、方法、函数等。

这里我还有两个小技巧可以分享:

(1)空语句:清理垃圾代码的最后一步就是删除空语句,空语句就是指标签间不存在任何内容的空语句。

(2)注释语句:我们在添加注释语句时,就会要尽量避免添加那些即使删除后也不会影响网页源代码可读性的注释语句。

4.软件开发领域都有那些思想?

回答:

对于软件开发来说大致上可以分成两种思想:(1)分层思想;(2)模块思想

5.如何开发出符合用户需求的软件?

回答:

软件工程大学大三课表_对《软件工程》课程的总结相关推荐

  1. 软件工程大学大三课表_专业选修课 | 面向大二、大三同学的专业选修课全面介绍来啦!...

    点击蓝字 关注我们 开学在即,又到了一年一度的选课时间,大家想好下学期要怎样选择课程了吗? 相信大家都知道在大学的学习生活中,专业选修课之于咱们工科生的重要性!所以,这一次的课程推荐,我们就来为大家盘 ...

  2. 我大学大三用一个月时间学完就找到实习的一套Java教程

    目录 引言 第一个Java程序 Java运行机制 基本语法 Java 关键字 Java 标识符 Java 修饰符 Java 注释 Java 基本数据类型 Java 变量 Java 运算符 Java 循 ...

  3. 软件工程-大学体育馆管理系统类图

    说明:这是3人团队作品,我发出的内容都是我自己写的部分与和团队队员一起讨论的部分,有删减其它队员的内容,文章不是很完整,但是我写的内容比较有参考性可以补充剩下的内容.发出的图是我原创的. 用例图:软件 ...

  4. 软件工程-大学体育馆管理系统用例图

    说明:这是3人团队作品,我发出的内容都是我自己写的部分与和团队队员一起讨论的部分,有删减其它队员的内容,文章不是很完整,但是我写的内容比较有参考性可以补充剩下的内容.发出的图是我原创的. 类图:软件工 ...

  5. “偷懒”上热搜!南京大三学生自制宿舍关灯神器火了,网友:希望量产

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 宿舍关灯这件事情,最近比较火. 起因是一位南京信息工程大学大三学生,花了7.8天时间,自制了一款宿舍关灯神器. 效果是这样的. 点击一下手机 ...

  6. 岁月划过生命线——大三上

    转眼就到了大三,成为名符其实的学长了,感觉大学过了一半,但何止是一半,感觉大学都快要结束了的节奏. 大三可以说是最重要的一个时期,要为自己的人生做规划打算,前面的学习都只是积累,现在快要到了冲刺爆发, ...

  7. 软件工程一位大三学生成功上大学的案例

    [来信] 贺老师: 您好!我是一名大三的学生,我一直关注您的博客!今夜想打扰一下您,想跟您交流. 我喜欢上CSDN,也喜欢看您的博客.不过,作为老师的您,我感到十分的震撼!像你这么敬业,一心一意为学生 ...

  8. 湖科大 2022大三上 软件工程复习资料

    前言 湖科大 2022大三上 软件工程复习资料 推荐参考 ffj笔记 主要内容来源于老师画的重点和ppt:由于ppt知识点不详细,部分内容参考了<软件设计师教程> 由于老师划重点不详细,笔 ...

  9. 自我评估,职业规划及对计算机专业的理解(大三软件工程学生的第一篇博客)

    自我定位职业规划及对计算机邻域的理解 2020-01-09 自我定位: 本人就读于浙工大(仅次于985,211大学)软件工程专业,大三在读,对于学校教学计划掌握程度在80%,能够利用库或API独立完成 ...

最新文章

  1. [云炬创业基础笔记] 第四章测试12
  2. git 提交各种情况下的处理方式
  3. Android开发之fragment之replace用法
  4. BOOST 线程完全攻略 - 结束语
  5. 简单计算机面试题库及答案_计算机专业复试面试问题含答案
  6. mysql 数据库表锁死_mysql 数据库表被锁住了_Mysql数据库表锁死如何处理?
  7. C#异常Retry通用类
  8. java中的URLConnection
  9. java 日期 yyyy_java日期中YYYY与yyyy的区别
  10. 设计模式—工厂模式(思维导图)
  11. Virtual Box创建共享目录
  12. Vue:vue中axios通过代理解决跨域
  13. git base cli
  14. css实现背景图片透明
  15. MFC串口发送数据大于128数据出错的解决办法(发送0xFE接收得到0x3F等问题)
  16. 微信H5支付浏览器支付
  17. 【每日爬虫】:利用线程池爬取百思不得姐段子
  18. Java英语单词(5000个)
  19. 网易云易盾三款产品入选2018网络安全全景图
  20. 从苹果售后到机器学习工程师,我趟过的 AI 坑

热门文章

  1. day10 Python操作pdf文件
  2. 谷歌正式开放智能 AI 机器人 Bard 迎战 ChatGPT,附申请教程
  3. 利用python实现泊松分布
  4. 途牛旅游项目环境搭建
  5. CSP认证近两期试题汇总
  6. 丹佛斯变频器al13故障_丹佛斯变频器故障代码12怎么处理,
  7. 移通创联 Modbus转Profinet网关将丹佛斯变频器接入西门子1200PLC配置案例
  8. 安科瑞AMB300系列母线槽红外测温解决方案
  9. 软件卸载quickuninstall
  10. kingbase将阿拉伯数字转换成金钱大写的数字格式