1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,3,*,软件的三层架构及其在,IDES,中的应用,-Qweic,1,3,2,1/5/2025 5:46 PM,三层架构框图,3,1/5/2025 5:46 PM,文档管理需求,这个子系统是管理公司文档,提供上传下载文档功能。,公司现有若干种身份的人在使用这个系统,,文档上传之后需要该部门,Toolowner,身份以上人员批准之后才能下载,下载文档需要登录,否则只能浏览。,文档在批准之后,只有文档所在部门员工才能反馈,其他部门员工只能下载。,对于一个还没有被批准的文档,上传者可以对其进行更改或删除,该部门的,To
2、olowner,可以对其进行批准(包括通过和拒绝),同时发一份邮件给该部门的相关人员,统计文档反馈,对员工进行激励(记录员工得分),4,1/5/2025 5:46 PM,文档管理用例图,5,1/5/2025 5:46 PM,组件图,6,1/5/2025 5:46 PM,7,1/5/2025 5:46 PM,逻辑层函数调用,浏览:,Search(),下载:,Download(),记录下载信息,为文档所有者加分(用户管理模块),文档上传:,Upload(),增加一个文档记录,为上传者加分,文档修改:,Update(),检查权限以及文档是否锁定?修改文档记录,文档审批:,Approve(),更新文档
3、状态,为相关人员加分,发送邮件(邮件管理模块),文档删除:,Delete(),检查权限以及文档状态是否锁定?删除文档记录,文档反馈:,Feedback,为相关人员加分,调用,Feedback,模块。,8,1/5/2025 5:46 PM,对外发布接口,查找功能:,Search(),上传文档:,UploadDocument(),更新文档:,UpdateDocument(),删除文档:,DeleteDocument(,),其他功能可以直接调用已有组件完成,9,1/5/2025 5:46 PM,数据层实现接口,查找功能:,Search(),Select,from document,上传文档:,Upl
4、oadDocument(),Insert into document,更新文档:,UpdateDocument(),Update document set,删除文档:,DeleteDocument(),Delete document where id=,10,1/5/2025 5:46 PM,用户界面,11,1/5/2025 5:46 PM,页面对应的后台,(,表现层,),12,1/5/2025 5:46 PM,BLL/Document.cs(,业务逻辑层,),13,1/5/2025 5:46 PM,从数据库中取数据,(,数据层,),WebApplication1,14,1/5/2025 5:
5、46 PM,数据及身份检查,15,1/5/2025 5:46 PM,逻辑、数据验证(表现层),16,1/5/2025 5:46 PM,业务检查(业务逻辑层),保证即使是糟糕的,UI,设计,系统照样健壮,17,1/5/2025 5:46 PM,18,1/5/2025 5:46 PM,三层架构小结,优点:,实现了外观,业务,数据的分离,隔离了系统的变化,层次清晰,易于理解,维护,扩展,各模块可以并行工作,不足:,效率比不分层的低,20%-30%,表现层变化隔离不足,MVC,模型,19,1/5/2025 5:46 PM,MVC,业务逻辑层,数据层,20,1/5/2025 5:46 PM,21,1/5
6、/2025 5:46 PM,IDES,的三层结构,22,1/5/2025 5:46 PM,整个,IDES,的目录结构,23,1/5/2025 5:46 PM,其它文件,App_Code/Module,(对象包装类),App_Themes,(网站皮肤,样式),Bin,(网站的调用的动态类库),UserControl,(自定义的用户控件),Image,Uploads,(网站使用的图片及用户上传的文件),Global.asax,(整个网站的全局事件),Web.config,(网站的配置文件),24,1/5/2025 5:46 PM,业务层,数据层,25,1/5/2025 5:47 PM,26,1/5/2025 5:47 PM,Thanks,!,27,1/5/2025 5:47 PM,