本书以"建设工程监理信息系统"项目为例,重点介绍基于MVC和EF架构在Web模式下的监理信息系统的开发实践。全书分为七章,首先简要介绍了建设工程监理业务及工作要求,在此基础上运用系统分析和系统设计方法,归纳出建设工程监理信息系统的功能模型;然后系统介绍了监理信息系统的开发过程,包括在VS2013环境下建立系统结构、以MVC和EF架构进行业务流程设计和实体模型建立、系统功能导航的结构原理和实现方法、CRUD模板及其自定义操作;介绍了系统功能的实现方法和过程。
本书内容注重实践,实例丰富,层次有序,结构鲜明。适合网站建设初学者、大中专学生、计算机软件开发人员阅读。
本书以"建设工程监理信息系统"项目为例,重点在于介绍基于MVC和EF架构在Web模式下企业管理信息系统的开发应用。现将其开发过程、方法和技术原理等内容整理成册,付诸出版,主要是基于以下几点:
(1)本项目的应用经过了实践的考验,稳定,但仍有不断完善的必要。目前VS平台已升级至2015版本,新的方法和技术不断更新,因此,本项目还需要继续升级开发和完善。
(2)本项目的系统设计思想和数据模型设计方案被众多类似系统借鉴,充分体现"一个中心"向外辐射的"面向对象"的管理思想和思路,并且对大型企业管理信息系统建设同样有指导借鉴意义。
(3)在历年的"管理信息系统"及相关课程的教学实践中,本项目作为经典案例引入课堂,在培养学生理解和实践"管理信息系统"课程内容方面,作用显著;并且可以通过这一个项目,同时传授多项技术应用方法。
(4)基于Visual Studio 的ASP.NET MVC和相应的Web开发技术仍在持续发展,新技术、新方法不断完善,并得到推广应用,从而实现企业价值。
本书内容及编排具有以下特点:
(1)系统建设与开发综合了软件工程领域中的多种技术和方法,并通过管理信息系统学科,说明信息处理与信息系统,特别是管理信息系统的建设对推动企业或组织发展的重要作用。
(2)以实例为基础,以开发过程为线索,在说明系统建设内容的同时,说明相关开发技术和方法的运用实现,案例完整,系统性强。
(3)MVC和EF是系统实现的基础和关键技术,实例多,内容逻辑关联多,注重方法实现原理,可以举一反三,融会贯通,具有普遍应用价值。
(4)系统功能设计实现是后章节内容,便于系统的综合应用研究与集成调试。
(5)代码经过严格测试,排除了各种错误,包括因处理逻辑关系定义不而可能产生的"伪错误"。
因此,本书适合网站建设初学者、大中专学生、计算机软件开发人员阅读,也可作为高等学校教材和开发工程师用书。
王新,北京物资学院副教授。1961年12月出生,1987年7月毕业于兰州大学计算机科学专业。主要从事计算机技术应用方面的教学、科研和管理工作,重点研究领域为管理信息系统与信息技术、网络技术与信息化建设等。主持"中都物流智能化信息系统建设方案研究",并获"2014年度中国物流学会课题成果奖"三等奖;主要编著有《全国高等院校工商管理系列规划教材 管理信息系统》《基于DW技术的管理信息系统分析设计实践》等。
目 录
1 工程建设监理信息系统概述
1.1 建设工程监理业务
1.1.1 施工监理的前期准备工作
1.1.2 施工准备阶段的监理
1.1.3 工程进度控制
1.1.4 工程质量控制
1.1.5 工程造价控制
1.1.6 施工合同其他事项管理
1.1.7 其他监理工作
1.2 系统建设内容
1.2.1 监理业务逻辑分析
1.2.2 系统功能设计
1.2.3 监理组织机构
1.2.4 系统设计思想
1.2.5 系统设计要求
1.3 管理对象分析
1.3.1 监理工程对象及属性
1.3.2 监理业务管理信息交换记录对象
1.3.3 系统服务对象
1.3.4 辅助数据对象
本章小结
2 建立工程监理信息系统项目
2.1 Visual Studio 2013 简要概述
2.1.1 主要新功能
2.1.2 VS2013 开发环境
2.1.3 新建项目
2.1.4 NuGet 程序包管理器
2.1.5 引用目录内容
2.2 建立监理信息系统项目
2.2.1 项目属性(Properties)
2.2.2 区域目录(Areas)
2.3 MVC目录架构
2.3.1 控制器目录(Controllers)
2.3.2 模型目录(Models)
2.3.3 视图目录(Views)
2.3.4 路由规则定义文件
2.4 其他目录说明
2.4.1 系统约定生成的目录
2.4.2 用户自定义目录
2.5 Web.config 文件
2.5.1 结构说明
2.5.2 主要节功能说明
2.5.3 Web.config 文件内容示例
2.5.4 本项目 Web.config 文件内容
本章小结
3 ASP.NET MVC架构及其应用
3.1 ASP.NET MVC 概述
3.1.1 ASP.NET
3.1.2 MVC 设计模型
3.1.3 MVC 运行机制
3.1.4 ASP.NET MVC
3.2 ASP.NET MVC 项目的运行
3.2.1 路由规则定义
3.2.2 路径命名与映射关系
3.2.3 布局页
3.2.4 _ViewStart.cshtml文件
3.3 ActionResult 与 视图
3.3.1 ActionResult 的子类类型
3.3.2 ActionResult返回类型说明
3.3.3 View 及其应用
3.4 Razor 视图引擎
3.4.1 Razor 标识符号
3.4.2 Razor C# 基本语法
3.4.3 Razor C# 循环语句
3.4.4 Razor C# 判断语句
3.4.5 几个基于 Razor 帮助器的用法
本章小结
4 EF 架构与实体模型定义
4.1 EF 概述
4.1.1 EF 的特点
4.1.2 实体模型(EF)的验证规则
4.1.3 EF Code First 默认规则及配置
4.2 A-工程管理实体模型定义
4.2.1 "工程信息"实体模型定义
4.2.2 "工程图片"实体模型定义
4.2.3 "工程增加"实体模型定义
4.2.4 "单位工程"实体模型定义
4.2.5 "工程调整"实体模型定义
4.3 B-文档管理实体模型定义
4.3.1 "接收文件"实体模型定义
4.3.2 "文件类别"实体模型定义
4.3.3 "发出文件"实体模型定义
4.3.4 "监理日记(个人登记)"实体模型定义
4.3.5 "监理日志(项目组登记)"实体模型定义
4.4 K-系统管理实体模型定义
4.4.1 "系统用户"实体模型定义
4.4.2 "用户增加"实体模型定义
4.4.3 "用户登录"实体模型定义
4.4.4 "系统角色"实体模型定义
4.4.5 "系统功能"实体模型定义
4.4.6 "角色功能"实体模型定义
4.4.7 "用户登录日志"实体模型定义
4.5 实体模型与数据库的关系
4.5.1 模型与 DbContext 类
4.5.2 psjldb12Context.cs 类文件
4.5.3 Web.config 与 节
本章小结
5 功能导航系统设计
5.1 系统功能管理
5.1.1 功能模块与子功能模块数据记录
5.1.2 系统功能管理控制器
5.1.3 功能数据记录列表显示视图
5.1.4 新增功能项目管理视图
5.1.5 功能项目详细内容显示视图
5.1.6 功能项目记录数据编辑视图
5.1.7 功能项目记录删除功能视图
5.2 系统角色管理
5.2.1 系统角色管理控制器
5.2.2 角色数据记录列表显示视图
5.2.3 新增角色功能视图
5.2.4 角色数据记录详细内容显示视图
5.2.5 角色数据记录编辑功能视图
5.2.6 角色记录删除功能视图
5.3 用户角色分配
5.3.1 一对多关系定义
5.3.2 系统角色记录检索
5.3.3 视图中实现用户角色选择
5.4 角色功能分配
5.4.1 系统角色实体与系统功能实体的关系
5.4.2 角色--功能分配功能实现的控制器
5.4.3 系统角色记录显示视图
5.4.4 功能记录显示的局部视图
5.5 用户登录与动态功能导航实现
5.5.1 系统用户登录方法
5.5.2 系统用户登录视图
5.5.3 系统主(一级)功能导航
5.5.4 子功能导航实现
5.5.5 子功能导航内容显示的局部视图
本章小结
6 CRUD 模板设计
6.1 CRUD控制器模板应用实例
6.1.1 实体模型与数据库表的对应关系
6.1.2 建立CRUD控制器
6.1.3 CRUD控制器代码内容组成
6.1.4 记录数据检索方法
6.1.5 记录详细内容显示方法
6.1.6 新增记录方法
6.1.7 记录数据编辑方法
6.1.8 记录删除方法
6.2 CRUD视图模板应用实例
6.2.1 记录列表显示视图
6.2.2 记录新增显示视图
6.2.3 记录详细内容显示视图
6.2.4 记录编辑显示视图
6.2.5 记录删除显示视图
6.3 ASP.NET MVC系统自有CRUD模板
6.3.1 控制器生成模板
6.3.2 记录列表显示视图生成模板
6.3.3 新增记录显示视图生成模板
6.3.4 记录详细内容显示视图生成模板
6.3.5 记录编辑视图生成模板
6.3.6 记录删除视图生成模板
6.4 CRUD模板的修改
6.4.1 自定义控制器模板
6.4.2 自定义记录列表显示视图模板
6.4.3 自定义新增记录显示视图模板
6.4.4 自定义记录详细内容显示视图模板
6.4.5 自定义记录编辑显示视图模板
6.4.6 自定义记录删除显示视图模板
本章小结
7 系统功能设计与实现
7.1 系统主页功能导航
7.1.1 主页内容组成结构
7.1.2 主页代码内容
7.1.3 代码功能说明
7.1.4 @RenderBody()方法的实现
7.2 通用功能导航连接
7.2.1 用户切换
7.2.2 工程选择
7.2.3 用户注销
7.2.4 修改密码
7.2.5 系统主页
7.2.6 关于我们
7.3 工程管理功能实现
7.3.1 工程信息编辑
7.3.2 工程项目调整
7.3.3 工程分项管理
7.3.4 增加新的工程
7.3.5 删除当前工程
第4节 其他功能实现
7.4.1 J-查询统计
7.4.2 K-系统管理
7.4.3 L-基础数据
7.4.4 O-辅助信息
本章小节
主要参考资料
"建设工程监理信息系统"项目是在Visual Studio 2013集成环境中,利用ASP.NET MVC和EF相结合开发实现,是基于Web的管理信息系统。在项目分析阶段,根据用户需要,经过市场应用和开发技术的调研后,发现ASP.NET MVC在开发Web项目方面的优势,并对Visual Studio 2010集成开发平台的技术特点进行了深入的了解。在项目建设开发阶段,VS平台经历了多次升级,到2013版本时,已经将Web项目建设开发所涉及的技术,例如MVC、EF、jQuery、C#、HTML5、CSS3等集于一身。系统模板和实例库的使用平台为项目的快速建设提供了巨大的优势,也成就了本项目的实现和应用。
建设工程监理管理业务的特点表现在:业务区域广、时间同期长、参与部门多、工作责任大。如何依据行业管理标准加强科学管理、减少重复流程、共享监理成果、有效推进监理业务科学化、数据处理快速化和智能化、有力辅助决策,是建设工程监理部门和监理工程人员,特别是管理决策者所面临的管理效率瓶颈。