实验一 软件工程准备—<通读《现代软件工程——构建之法》>
《现代软件工程——构建之法》章节
实验项目及内容
项目 | 内容 |
---|---|
课程班级博客 | 班级博客 |
作业要求 | 作业要求 |
本次作业学习目标 | 掌握用markdown排版发布博文,在Github注册账号,了解Github基本操作 |
该作业在哪些方面帮助我实现学习目标 | 老师发布的一些参考文章和学习视频 |
实验问题
问题一
我大致的翻阅了一遍邹欣老师的《现代软件工程——构建之法》,在教材的P110页第5.3章中看到MVP以及TSP和MSF一些我比较生疏的词汇,通过大致阅览,和查找资料,对这些概念有了基本的了解,但还不是很理解,是我还未仔细看解释的缘故,希望通过后期的学习可以对TSP和MSF有更明确的认识。
下面是对MVP的解释:
MVP与MVC的区别
MVP——Model-View-Presenter 它是MVC模式的变种。UI是容易变化的,且是多样的,一样的数据会有N种显示方式;业务逻辑也是比较容易变化的。为了使得Application具有较大的弹性,我们期望将UI、逻辑(UI的逻辑和业务逻辑)和数据隔离开来,而MVP是一个很好的选择。
Presenter代替了Controller,它比Controller担当更多的任务,也更加复杂。Presenter处理事件,执行相应的逻辑,这些逻辑映射到Model的Command以操作Model。那些处理UI如何工作的代码基本上都位于Presenter。Presenter如同一个乐队的指挥家,表现和协调整个Application,它负责创建和协调其它对象。
Model和View使用Observer模式进行沟通;而Presenter和View则使用Mediator模式进行通信;Presenter操作Model则使用Command模式来进行。基本设计和MVC相同:Model存储数据,View表示Model的表现,Presenter协调两者之间的通信。在 MVP 中 View 接收到事件,然后会将它们传递到 Presenter, 如何具体处理这些事件,将由 Presenter 来完成。
处理流程方面,在MVC中,用户的请求首先会到达Controller,有Controller从Model获取数据,选择合适的View,把处理结果呈现到View上;在MVP中,用户的请求首先会到达View,View传递请求到特定的Presenter,Presenter从Model获取数据后,再把处理结果通过接口传递到View。
使用MVP后,我们可以提高对Model和Presenter的复用,比如可以对Model和Presenter不做修改,而能提供ASP.NET Web Form和 Windows Form。
在ASP.NET MVC Framework中,采用行内代码进行数据呈现,逻辑集中在Controller中,但是View无法完全交给UI设计人员完成。在MVP模式中,所有的业务逻辑交给Presenter去处理,这样View中代码就变得及其简洁,将可以轻易的把开发人员和UI设计人员分开。
--引用自《[浅谈MVP架构及开发模式](https://www.cnblogs.com/rainbow70626/p/4926121.html)》
在邹欣老师教材上有对TSP、MSP的简单介绍,这里就不再做解释了。
希望在后期的学习中加深对TSP、MSP的理解。
问题二
在教材第六章提及敏捷流程,但在大致阅览教材中我没有理解冥界流程是什么,期待在后期的学习和空余中继续学习。
下面是找到的有关敏捷过程的解释:
敏捷开发是一种以人为核心,以迭代方式循序渐进开发的方法,其软件开发的过程称为“敏捷过程”。
--引自《什么是统一过程和敏捷过程》
问题三
在实验过程中,用github发布项目时编辑框内未出现正常代码编辑的1、2、3的列序,截图如下:
经过检查后发现操作没有问题,换了电脑操作,同样操作在其它电脑可以正常编辑发布。是问题出在本机电脑了吗?我关闭浏览器后还是无法正常编辑。
总结
通过对教材的浏览和查阅书籍资料,大的问题没有,基本可以通过自己查阅完成。期待后续软件工程的学习和实验。
作业参考文献
参考文献 | 书目 |
---|---|
专著 | 软件工程导论 第6版 |
期刊文章 | markdown mardown字体颜色 什么是MSF |
电子文献 | 纯MarkDown博客阅读体验优化 |