MSRA的高级软件工程已经开始两周了,听着邹欣老师介绍一通,什么心理学管理学全都囊括在内;再自己这本书那本书的翻看一通,忽然发现原来软件工程和我想象中的不完全是那么一回事。于是立马Google一番,发现维基百科中的定义是:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。这才恍然大悟,原来软件工程不仅仅是说怎么用编程语言写出一个软件,除了程序员之外,系统分析员、软件设计师、系统架构师、测试员都是不可或缺的重要部分。

很可惜的是,我是学EE的,在科大没有学过软件工程,没有接触过什么真正意义上的系统级别的软件设计(这里顺便建议一下6系可以开开这种工程实践意义较强的课程~~连数学系都开Software Engineering~⊙﹏⊙b汗)。Cube里面就有一个数学系的女生很哈皮地说她学过软件工程,于是便有了这篇“之他见”,更确切的,“之她见”。

首先,是分组和选题。大家六人一组,然后讨论出一个比较感兴趣比较想做的项目开始计划,他们选择的是做出一个网上的科大毕业生通讯录系统,可以通过输入自己的用户名和密码来登录进系统内,然后可以进行一系列的相关操作。

确定要做的项目之后,接下来就是学习一些关于软件工程的基本方法,将所学的方法和步骤应用到选择的题目上去,包括市场调查、需求分析和可行性报告。通过调查现有的各种不同的SNS社区的情况、他们实现的功能什么的来对接下来自己要做的有一个大概的了解和概念;同时向身边的朋友同学以及其他社交圈内的人调研是否有必要设计出这样一个网上信息查询系统;最后再大致分析一下这个项目整体的可行性,以及一个关于这个项目要的计划。当然,这里只是一个初步的设计,对今后的方向有一个大概的了解就行。具体的设计什么的是下一步——概要设计的内容。

前面的基础,项目的 可行性条件都具备了之后,就要开始设计整个工程了。这里面涉及到的就是和全局、局部有关的概念:要首先将软件或者项目预期完成的功能决定好,然后进行概要设计。根据整个project的内容,把它划分为多个模块,再具体去考虑各个模块各自的功能。针对他们的project,一共分成了三个主要模块:登录、注册、信息查找。登录就是用户输入自己的用户名和密码去和已有的用户数据库中的各条匹配,如果匹配成功,则进入用户的个人主页,若匹配失败,则重新登录;注册则是原来不存在于数据库中的用户新建个信息项,然后转到新建的个人主页,同时将该用户的信息添加到数据库;信息查找则是用户输入想要查找对象的一些信息,系统根据这些信息区数据库中匹配,根据访问权限的设定来实现访问或者返回自己的主页。

完成了前面这些之后,整个系统的基本结构就架构好了^_^,可以开始画数据流图了。简单地说,数据流图就是把上面这一堆乱七八糟的结构功能的构想用箭头连接起来,简明扼要利于分析。当然啦,画数据流图的时候也有讲究:从最大的系统开始座位第0层数据流图,画的是整个系统的基本结构框图;接下来细分到具体的网上登录系统;最后就是要实现的登录、注册和查询、信息修改的流程。从那些图可以一目了然,工程的这个模块要干什么什么,那个模块要干什么什么之类的,很清晰,也利于后面编程的实现。

实现整个系统当然必不可少的就是coding啦~~coding只是整个的一部分而已,而且我也没办法说清楚如何如何去编程,毕竟高手牛人还是很多滴~~ 总之呢,编出系统之后并没有完事,还有一项要做的就是用户测试。你毕竟做出了一个系统嘛,不给人家用用看怎么能够判断它好不好呢?给一批科大毕业生体验一下这个系统之后,根据得到的反馈信息来评价这个系统的整体性能,然后进一步做一些修改和完善。其实写一个用户手册出来告诉大家这个系统该怎么用之类的还是很必要的,可以做一下。

大致的她在软件工程这门课上所做的就是这些了。她说,在软件工程这门课上还是可以学到很多东西的,当然啦,这些东西根据你所做的project还是有所不同的。像他们的这个网上信息查询系统,她就学会了用PHP,CSS,HTML, MYSQL,还有其他一些如何设计一个工程、如何一步步实现、如何进行用户测试以及相应的调整。在我看来,这是一个系统性的学习,交叉性学科的任务。除了写程序,我们在软件工程中其实还有很多方面可以学习和运用,经验教训的累积也会在将来的工作实践中成为一笔宝贵的财富。

哈哈,最后总结一下,软件工程还是很强大的,学好了还是很有用的。希望我们可以在邹欣老师的带领和指导下领略到这门独特的艺术~~

转载于:https://www.cnblogs.com/codingcrazy/archive/2010/11/27/1889907.html

软件工程之他见——鲍周晓相关推荐

  1. 作者:周晓津(1971-),男,博士,广州市社会科学院研究员。

    周晓津(1971-),男,博士,广州市社会科学院研究员,主要研究方向为人口与城市经济学.高铁经济学和大数据应用.

  2. 微博的大数据挖掘:知著、见微、晓意

    文章讲的是微博的大数据挖掘:知著.见微.晓意,2013年11月22-23日,作为国内唯一专注于Hadoop技术与应用分享的大规模行业盛会,2013 Hadoop中国技术峰会(China Hadoop ...

  3. 冠名教授|香港科大周晓方教授获颁潘乐陶工程学教授席

    自2017年起,香港科技大学设立「冠名教授席」计划,通过社会人士和企业的捐赠设立和颁授崇高荣誉,予校内杰出学者,表扬及肯定其在学术领域的投入和贡献,建立优秀的师资团队,以及延揽全球和区内顶尖优秀学者加 ...

  4. OUC2022秋季软件工程第16组第二周作业

    OUC2022秋季软件工程第16组第二周作业 目录 文章目录 OUC2022秋季软件工程第16组第二周作业 目录 一.视频学习心得及问题总结 1.学习心得 张欣悦: 赵艳蕊: 杨婷: 郑欣欣: 张维娜 ...

  5. 软件工程学习进度第三周暨暑期学习进度之第三周汇总

    第三周,本周并未将重心放在java学习上,只是在教数据结构的刘老师留的暑假作业PTA练习题上使用java进行编程,本周的重心主要放在机器学习上,javaweb只是了解了一部分jQuery的内容,优化了 ...

  6. 现代软件工程系列 结对编程 两周写好3D 陆战棋

    from: http://cid-ba6a52af193f301f.spaces.live.com/blog/cns!BA6A52AF193F301F!122.entry Oh,my pair pro ...

  7. 软件工程学习进度第十周汇总

    本周开始暑假就正式结束了,这周因为学校安排的认识实习的缘故并没有什么进度,只学习了部分Python线程相关的东西 首先是单线程的测试,下图是运行效果图 代码如下: 1 from time import ...

  8. 软件工程学习进度第八周暨暑期学习进度之第八周汇总

    本周的主要工作是win10+TensorFlow环境下的FCN全卷积神经网络的实现 FCN对图像进行像素级的分类,从而解决了语义级别的图像分割问题.与经典的CNN在卷积层使用全连接层得到固定长度的特征 ...

  9. 软件工程学习进度第七周暨暑期学习进度之第七周汇总

    本周的学习重心依旧是深度学习,主要实践项目为基于TensorFlow深度学习框架的字母.数字组成的验证码识别.在上周进行了mnist手写数字识别之后,本以为验证码识别是一件很简单的事,但实践起来发现并 ...

最新文章

  1. 联泰集群发布水晶系列工作站,用于深度学习场景
  2. 图解计算机图形学三维变换算法
  3. MFC创建单文档工程(左上角名称前的mfc图标修改为其他需求图标)
  4. mysql grou平by_MySQL group by对单字分组序和多字段分组的方法讲解
  5. liunx内核中的互斥自旋锁和读写自旋锁的实现详解
  6. html app从上向下弹框,移动端从底部向上过渡弹出弹框
  7. java executor_Java并发编程(08):Executor线程池框架
  8. HNCU1324:算法2-2:有序线性表的有序合并(线性表)
  9. 文件和目录属性ls which alias
  10. mac下 eclipse支持magic mouse/Trackpad 操作
  11. 微信名片、公众号二维码美化生成器!
  12. javascript系列-class6.String类型
  13. mysql 学生成绩管理数据库操作案例
  14. 51Nod【1419】-最小公倍数挑战
  15. 打了平安的新股,可惜一签没中
  16. 李子柒YouTube油管粉丝破千万,争议不断的背后是怎样的魅力
  17. excel中用Index函数取出数组中任意一个位置的值
  18. Linux实验 输出6之内的数字金字塔
  19. c语言createfile函数,C语言的下载函数
  20. 高效工具-Google云盘上传方案

热门文章

  1. android键盘映射之一
  2. 以流量为王的时代,如何获得不错的流量,泰山众筹如何脱颖而出?
  3. MATLAB反三角函数arcsecx, arccscx, arctanx, arccotx, arcsinx, arccosx绘图表示
  4. 数据库索引分裂 问题分析
  5. 大学都要学计算机吗,大学要买电脑吗?大学生为什么现在都要标配一台笔记本?...
  6. 计算机静音图标无法更改怎么办,电脑桌面出现静音图标,是桌面上,不是右下角,怎么处理...
  7. 人生苦短,我用Python;平台无限多,最棒大蟒蛇anaconda!
  8. 【数学建模】十二(最后一篇):MATLAB CUMCM真题求解实例三:机理建模型
  9. 微金所案例(轮播+自适应布局)
  10. httpf发送 json_Java用HttpClient4发送http/https协议get/post请求,发送map,json,xml,txt数据...