⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 200602282202575.html

📁 软件工程的红包书
💻 HTML
字号:
<html>
<head><title>软件结构</title></head>
<center><h1>软件结构</h1></center>
<div><P align=right><FONT face=Verdana><FONT face=Verdana><FONT face=黑体 color=#ff0033><FONT face=Verdana><FONT color=#f70938><FONT face=黑体><a href="200604112229525.html" tppabs="http://www.itisedu.com/phrase/200604112229525.html" target="_new">中科永联</a>高级技术培训中心(</FONT><FONT face=黑体>www.itisedu.com</FONT><FONT face=黑体>)</FONT></FONT></FONT><IMG src="2006321221251511.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006321221251511.jpg" border=0></FONT></FONT></FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="200602282202575.html" tppabs="http://www.itisedu.com/phrase/200602282202575.html" target="_new">软件结构</a>(<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604232208535.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604232208535.html'" tppabs="http://www.itisedu.com/phrase/200604232208535.html" target="_new">Software Structure</a>)是指一种层次表况,由<a href="200604232134205.html" tppabs="http://www.itisedu.com/phrase/200604232134205.html" target="_new">软件</a>组成成分构造软件的过程、方法和表示。它是影响软件质量的内在因素,结构良好的软件可以提高软件的可靠性和易维护性。软件结构主要包括<a href="200604232224305.html" tppabs="http://www.itisedu.com/phrase/200604232224305.html" target="_new">程序</a>结构和文档结构。文挡描述的<a href="200603090845215.html" tppabs="http://www.itisedu.com/phrase/200603090845215.html" target="_new">对象</a>往往很复杂,所以文档结构需要简明、清晰和有层次。程序结构有两层含义,一是指程序的数据结构和控制结构;另一是指由比程序低一级的程序单位(模块)组成程序的过程、方法和表示。在后者含义下,具有代表性的是块结构和嵌套结构两种。块结构比较自然,各个部分之间通过一些公用变量取得联系,嵌套结构是在嵌套分程序的基础上引进局部性和动态性,以减少程序的初始信息量,嵌套结构不如块结构直观,调试不方便。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于模块,可理解为具有如下特性的程序单位,即把这些模块组合成较大的程序时,不要求了解各个模块的内部工作细节,而各模块的正确性也不用置于整个程序中就可检查。按照<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604231249365.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604231249365.html'" tppabs="http://www.itisedu.com/phrase/200604231249365.html" target="_new">面向对象的方法</a>来构造软件时,这种模块的概念就可以理解为<a href="200603090857555.html" tppabs="http://www.itisedu.com/phrase/200603090857555.html" target="_new">类</a>(参见<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604240957495.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604240957495.html'" tppabs="http://www.itisedu.com/phrase/200604240957495.html" target="_new">面向对象程序设计</a>)。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有些程序是单模块结构,有些是多模块结构。这些模块在程序的逻辑上是不可分离的,可以用不同的<a href="200602281700255.html" tppabs="http://www.itisedu.com/phrase/200602281700255.html" target="_new">程序设计语言</a>编写,可以由相应的编译程序分别编译,可以和其它的程序单位组合并装入<a href="200603021438435.html" tppabs="http://www.itisedu.com/phrase/200603021438435.html" target="_new">计算机</a>内运行。由于编写大程序的需要,且模块可以多次使用,实行模块化是一个很好的手段。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 由一组模块组成的大型程序可有三种结构,即顺序结构、并发结构和分布结构。顺序结构的程序是最古老的,所采用的<a href="200602281641255.html" tppabs="http://www.itisedu.com/phrase/200602281641255.html" target="_new">程序设计</a>语言是顺序程序设计语言,如ALGOL、FORTRAN、C等。并发结构的程序由若干个可以同时执行的模块组成。这些模块可以在多台处理机上并行执行,也可以在同一台处理机上交叉执行,所采用的程序设计语言是并发程序设计语言,如并发PASCAL、Modula-2等。分布结构的程序由若干个可独立运行的模块组成,这些模块可以分布于一个分布式系统中,在几台计算机上同时运行,所采用的程序设计语言是分布式程序设计语言。对于大型程序,也可以是这三种结构的混合。<BR>&nbsp;</FONT></P>
<P><FONT face=Verdana><STRONG>WEB软件结构原则</STRONG></FONT></P>
<P><FONT face=Verdana><STRONG>(一) 目录结构清楚,不宜过深,复杂,路径最好用相对地址&nbsp;<BR></STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;什么样的目录放什么样的内容,这样便于管理,使WEB程序的目录结构,清楚明了,一看便知道某个<a href="200602282323195.html" tppabs="http://www.itisedu.com/phrase/200602282323195.html" target="_new">文件</a>夹下存储了哪些功能模块与内容。若随便存放,时间一长久自己都将不从了解某目录是用来做什么的。如:经常要使用的可执行文件最要存放在(项目根目录)根目录,这样做主要是便于了解其作用,同时也为在程序中少输入些地址字符。程序所用到的图片统一存放在根目录下images目录中,若项目较大,分枝较多,可再在其目录下建立也分枝程序相关的目录名,存储相关的图片内容。程序的配置文件与常用共公函数类库存放在include目录中,存放在此目录下的函数类库文件扩展名得命名为:.<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604241503425.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604241503425.html'" tppabs="http://www.itisedu.com/phrase/200604241503425.html" target="_new">php</a>切不命名为.inc .ini之类为扩展名的文件,主要是防此此类文件可供用户下载,或查阅其源码内容,这样对其调用方便明确。模板文件应存储在根目录下templates目录中,扩展名为.html,如果项目较大,分类较多,模板文件可分类存放在下极目录中。临时文件存储在根目录tmp目录中,此目录通常设置为任何人都可读可写。使用相对地址主要是方便程序移植。</FONT></P>
<P><FONT face=Verdana><STRONG>&nbsp;(二) 命名适当</STRONG> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 命名最好是以程序用来作什么用来命名。若一个单词就要描述则用小写单词来命名,若要用多个单词方能代表,也以小写单词之间加下划线连接。要注意命名不可过长,这样就不方便了,虽然能表达的更明确,但打字难打啊。程序中函数命名也可与此相同。不好之上也有,那就是每次命名都得要花时间去想个较合适的名字,由其是对于是我们这种英文水评较差的人来说可不是一件容易的事啊。(惨啊,哈哈!) </FONT></P>
<P><FONT face=Verdana><STRONG>(三) 常变内容、界面使模板较好</STRONG> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 常变内容、界面使用模板较好,这是因为当我某天感觉某不页面不美观时尚时,我想更换较新较好的界面,这时就用得上了。如果是按照传统的制作将HTML页面内容放在程序中处理输入时,较麻烦非得要更改程序不可,这可能会带来较大的不便万一更改出错,这就不太好了。(程序有很长一段时没有维护了,突然要改,一时之间是难免不发生改错的情况发生)。若是使用了模板则不用改程序,只要更改一下模板文件就行了。好了说了这么我模板的好处,好像传统的做法没有一点好处是的,好像分文不值是的,也不是,模板也有它不好的地方,现在我也来说说它是怎么个不好的。传统做法是把HTML代码嵌入在WEB程序中,这样做的好处是,执行速度要比使用模板的要快,这是因为它不用经过任何处理就能直接输出,而模板就不一样啦。模板先要打开读取模板文件到字符串变量可数组字符串变量中,这是要时间的吧?读处完了之后还得花时间用字符串操作函数替换模板中模板变量吧?替换完成了方能进入输出。传统做法与使用模板作法,您觉得哪个好呢?(我个人认为如果是开发访问量相当大的网站,选择传统的作法是一个不错的选择,我所说的是相对不是绝对,如果访问量再大那就不能用脚本语言去写了,那得用 CGI + Socket + Demon了。不说了,说远了,哈哈) </FONT></P>
<P><FONT face=Verdana><STRONG>(四) 共公信息统一存储</STRONG> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 共公信息统一存储,这主要为了方便<a href="200603082251135.html" tppabs="http://www.itisedu.com/phrase/200603082251135.html" target="_new">团队</a>开发时都能进行调用用的最常的函数,不用每个开发人员都复制一份或自己写一份存储在程序文件中,这样做浪费空间同时效率效果也不好。 </FONT></P>
<P><FONT face=Verdana><STRONG>(五) Include文件不可嵌入较多</STRONG> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Include文件不可嵌入较多,这是因为每次程序include某个文件时,是要打开读取这个文件的,这是要时间的哦,再就是说处理路径时可能会遇到较难发现的BUG问题。 </FONT></P>
<P><FONT face=Verdana><STRONG>(六) 目录下不可存储太多内容文件</STRONG> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目录下不可存储太多内容文件,你有没有发现?每当你进入windows的system32文件夹时通常打开的时间要比打开其它文件夹时要长久点呢?这主要是因为system32这个文件夹中文件较多,当你打开系统得花时间查找文件并显示吧?如果文件较多较大时最好是分目录分盘符来处理。假若您的机器够好够强劲的话,就当我没说过,那就得另当别论了。 </FONT></P>
<P><FONT face=Verdana><STRONG>(七) 数据结构要设计合理</STRONG> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数据结构要设计合理,如果数据结构设计不合理的话,不管你的程序写的多精典,写得我容易,也不是不能发挥其最大作用与价值的。这就相当于一个女人的胸部最大最丰满,但人不够高,而且又黑,身体又不好,身架又残疾,你会说她美丽完美吗?程序也一样,有些代码沉长又不起作用,存在也没有什么用。数据结构要精简明了。 </FONT></P>
<P><FONT face=Verdana><STRONG>(八) 数据校验应在服务器端</STRONG></FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;数据校验应在服务器端,这是因为就算是他人不从我们的页面输入数据,自己做了个链接地址(GET)或自己做了个表单用POST方式传送数据,我们的程序也将进入核对查验。若是放在<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603082208195.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603082208195.html'" tppabs="http://www.itisedu.com/phrase/200603082208195.html" target="_new">客户端</a>,他人就能用以上方法逃过审核了。但这样做也有他不好之处,那就是当数据量大时,服务器会负载运行,审核数据完整性是可开销时间与系统资源的。在客户端就不会占用服务器太多的资源,因为他占用的是用户的资源。 </FONT></P>
<P><FONT face=Verdana><STRONG>(九) 连接<a href="200602271218062.html" tppabs="http://www.itisedu.com/phrase/200602271218062.html" target="_new">数据库</a>近晚,断开连接近早</STRONG> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 连接数据库近晚,断开连接近早,这主要是因为连接数据是要时间的吧?连接上了不即时使用也要占用系统资源吧?连接数据库连接数量是有限制的吧?所以得尽晚连接,尽早断开连接,这个做能使占用系统资源最少,为下一次连接提供条件。 </FONT></P>
<P><FONT face=Verdana><STRONG>(十) 尽量少使用SESSION与COOKIE</STRONG> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 尽量少使用SESSION与COOKIE,因为使用SESSION是要占用系统资源的,SESSION是存储在服务器端的,每次读取SESSION中的数据是要较大开销的。COOKIE虽然不占用服务器资源,但COOKIE不太安全。 </FONT></P>
<P><FONT face=Verdana><BR>&nbsp;<BR></FONT></P></div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -