跟着牛腩老师从头到尾的做了一遍,系统很小,但是对一个系统的开发流程有了重新认识,牛腩老师从系统的从文档开始,分析系统的需求,构造系统结构图,创建数据库等对系统进行详细设计,很多细节考虑的很全面。
数据库设计,对主外键,触发器的创建,存储过程的编写比以前更加清晰;三层的搭建和代码实现过程,牛腩老师做的很有条理性,对SQLhelper的编写使自己对sqlhelper有了重新的认识。以上的这些是之前机房收费系统自己已经学过的,但是经过牛腩老师的视频讲解有了新的认识,对一个系统的开发过程更加明了。
整个系统主要学习的是div+css网页的布局方式,css样式的学习,ASP.net的学习,有了基本的认识,还有涉及到的js,jquery等等。
一、文档
代码未动,文档先行。
对于牛腩新闻发布系统的设计大致分为以下几项:
1.系统介绍
系统需求分析,系统要实现的功能。
2.系统结构图
UML用例图
3.数据库设计图
数据库表和字段
4.数据库表关系
主外键约束
5.数据库说明
数据库设计详细说明
6.系统界面模拟图设计
系统界面设计原型图
7.数据表操作类设计
数据库操作类方法(分析数据访问层需要的所有方法)
8.命名规范
数据库命名规范
C#命名规范
方法,参数命名规范
系统虽小,但是作为数据库设计和系统实现的指导文档,设计的很全面,可见牛腩老师的对系统设计的规范要求,对设计文档的重视。
软工文档的设计,
二、数据库设计
数据库的设计
1.设计技巧:例如获取时间的列:通过直接绑定其属性的getdate()方法获取当前时间,省去了在系统中添加时间的操作。
2.存储过程,触发器
存储过程中内连接的使用,触发器的理解更加深刻
内连接:两个表(或连接)中某一数据项相等的连接称为内连接。连接的结果是形成一个新的数据表。
内连接的运算顺序:
1.参与的数据表(或连接)中的每列与其它数据表(或连接)的列相匹配,形成临时数据表;
2.将满足数据项相等的记录从临时数据表中选择出来。
例如:
取出最新10条新闻,我们需要取出新闻表中的全部数据和每个新闻所属的类别(类别名称在类别表中),两表具有相等的数据项--类别id(主外键关系),我们可以通过下面的内连接实现查询:
--=============================================
--Author: 张江江
--Create date: 2013-6-23 11:30:05
--Description: 取出最新10条新闻(所有分流,新闻标题)
--=============================================
ALTERPROCEDURE [dbo].[Proc_NewsSelectNewNews]
AS
BEGIN
selecttop 5 n.id,n.title,n.createTime,c.[name],c.id as caId from news n
inner join category c on n.caId =c.id --内连接
orderby n.createTime desc
END
--执行结果包含的字段:id,title,createTime,name,caId;
触发器:可以看做是特殊的存储过程,有事件来触发,用于加强数据的完整性约束和业务规则等。
通过对牛腩视频的再一次学习,不仅认识再次深刻,更在原来的基础上学习到了新的知识。
三、代码实现
首先牛腩老师运用三层的思想进行开发,以达到代码解耦和复用的目的。
1.编写SQLHelper,牛腩老师从无到有的进行SQLHelper的优化,让我们明白SQLHelper的作用和优点,对比之前对SQLHelper的学习,通过视频的学习从更本上对SQLHelper有了认识。
2.方法实现
代码实现依据文档
很标准很详细的代码注释,方便了以后的查询和修改。
以上知识总结,在原有的学习基础上,通过对视频的学习,对以前的知识更深刻的认识,也发现之前在机房收费系统中的不足。而牛腩老师对一个项目的开发流程值得再次学习。
四、DIV+CSS网页设计
以上完全是和CS共通的部分,到这才是真正的BS学习。
DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。
CSS:级联样式表,用于指定网页元素位置,外观以及创建特殊效果。
简单理解:DIV中是内容和功能,CSS是外观样式;DIV+CSS使得表现与外观分离。
牛腩新闻发布系统这个阶段的学习有一个承上启下的作用,牛腩老师的指导学习,解决了一些在CS学习中我们的疑惑和不足,也学到了牛腩老师对项目开发的流程,开发过程中的技巧;更作为BS学习的开始,对Web开发开始有一个基本的认识,增加对BS深入学习的兴趣。