Web设计里的软件工程思想

对web应用系统架构的理解 大型应用系统通常又可分为以下几个子系统: (1)web前端系统 (2)负载均衡系统 (3)数据库集群系统 (4)缓存系统 (5)分布式存储系统 (6)分布式服务器管理系统 (7)代码分发系统 web前端系统 该web系统基于Apache/Eginx等虚拟主机平台,提供PHP程序运行环境。服务器对开发人员是透明的,不需要开发人员介入服务器管理。 负载均衡系统 负载均衡系统分为硬件和软件两种。硬件负载均衡效率高,但是价格贵,比如F5等。软件负载均衡系统价格较低或者免费,.. 阅读详情

亚丁

 
--------------------------------------------------------------------------------


现在的网站规模越来越大,涉及到的部门、人员的数量也是越来越多。自然而然的,Web开发组的规模也是越来越复杂了,由此所带来的管理难度也越来越大,在下面的文章里,我将与大家探讨一些相关的Web设计观念。

1、 Web是一种软件么?
最早的Web设计是很简单的,一大堆的超链接,有些地方偶尔会看见很高级的CGI(在当时的环境下),而现在的Web已经具备了与数据紧密连接的需要,现在的Web项目中已经出现了很多B/S结构的应用,不用怀疑,Web已经或者即将成为软件的一个重要分枝。

2、 Web设计是艺术还是工程?

很多人都认为网页设计是一个艺术性的工种,并且是具有很大的挥洒余地的地方,所以经常会看见很多网页设计比赛,但是大家不要忽略一个问题,大部分的网页设计比赛比的仅仅是一个或者至多几个页面,而不是一个完整的Web体系。Apple公司的Web设计有没有艺术感?
答案是肯定的,那为什么Apple不毫无限制的挥洒其设计师的艺术细胞呢?即使把我们看见的几个经典的设计风格放上去可以嘛!但是他们并没有这么作,我想原因应该是很容易被理解的:任何Web设计的艺术性都必须与Web体系的工程性求得一个平衡。

Web是一种有能力包含大量信息的用户界面为主要交互通道的软件,所以它的艺术性自然显露的比较明显,我想这也是为什么很多人将网页设计归纳到艺术一类了、将Web设计等同于网页设计了。

3、 Web设计师可以与programming 中的coder相提并论么?

这是一个很有意思的问题,以前我记得在Delphi区里面曾经讨论过印度软件行业里面高中生Coder问题,现在市面上招聘网页设计的公司还是不少,他们招聘这些设计人员后如何安排他们的工作呢?这里应该有很多问题。

不同的网页设计人员的设计能力自然是不同的,有时候能力相差甚至是很大的,我们不能够指望自己的公司拥有的都是一流的设计人员(或许公司也并不愿意出相应的价钱),所以我将一般性的Web设计师定义为 Coder 设计师。

但是呢,如何将一些能力并不出众的人合理的安排,并作出稳定的项目呢?在实际应用中我们经常使用的是定义一套统一的设计方法(不管是显性还是非显性的),或者更具体一点就是使用类似模板、JS、SSI输出等方法,对于一个已经定义好相关Web组件的开发组来讲,开发人员要做的并不是如何再设法把已经有的组件修改过来修改过去(这样会直接导致非主 动性需求变动了),而是根据具体情况,在必要的时候设计新的组件(当然这种创造性的工作不太可能交给一般的Coder Web设计师作),然后由 coder 级别的Web设计师来生成大量的一般性页面,或者是使用其他的软件。

4、 Web设计可以通过人海战术来完成么?

我觉得不太应该使用这种策略,如果你们的高级Web体系设计人员作出的体系大的无法通过有限的人员来实现的话,那么即使通过“人海战术”勉强实现了,那么管理也是很容易出问题的,优良的体系仅仅可以从理论上较少出错的可能性,但是页面数目大幅度增加的时候, 而且又是人来完成的,错误自然也会增加。

另外现在所使用的发布系统也不是说不可以完成大量的重复人工劳动,何必自寻烦恼?

5、 Web设计中时髦技术VS成熟技术?
最典型的、也是最极端的例子就是一些个人网站,她们往往使用一些极其花哨的东西来表现流行,而作为大型Web项目,使用这些花哨的东西自然不符合自然规律。
技术是为业务实现服务的,所以完全没有必要在不适当的时间、系统中使用不恰当的技术,使用ASP+SQL作一个大型的网上商店是可行的,但是如果这样的配置仅仅用来一个10页以下的网站+一个留言板,投资是不是高了一点呢?

我还是希望列举网景公司的公益性项目– DMOZ.ORG,她的设计确实不怎么样,起码不怎么花哨,但是你知道吗,她可是许多搜索引擎的数据来源(其中有Google,AOL等)。可见一个Web项目不是围绕技术服务的,而是围绕需求和业务服务的。

6、 Web设计中的(类)Class
经常上微软的网站的朋友应该记得,Microsoft的设计风格是非常统一的。由外国Web设计理论家说过,Web设计同样是具有大量的Conversions (惯例),如导航条,按钮等,一个网站的风格应该是有一个或者几个Abstract (抽象) 组成的,但是这种Abstract 和编程写代码的Abstract 是有很大区别的:
1、首先它是一种用大量图片以及带有格式文字组成的,基于用户界面的一个东西,说不定Flash, JavaScript 都用上了~~哈!
2、我们在编程的时候可能会遇到 override,这在Web的“类”当中所对应的动作应该是这样:我们作一个子站点,它的一些宏观风格从Abstract里继承了,但是我们觉得有些地方应该进行一些修改,比如Abstract的GlobalColor 是天蓝色,而子站的GlobalColor需要向真实的产品VI靠近,所以就可以被 override 成为灰色。 

软件工程复试归纳总结 第1章 1.1什么是计算机软件? 计算机软件是指计算机系统中的程序及其文档。程序是计算机任务的处理对象和处理规则。文档是了解程序的阐述资料 1.2计算机软件的特点? 软件开发成本和进度难以准确估算 软件是被开发和设计的,没有明显的制造过程。开发成果复制即可,但维护工程量大 软件没有机械磨损和老化问题 1.3软件的分类 系统软件(编译程序、操作系统) 支撑软件(数据库管理系统、软件开发工具等) 应用软件 1.4软件语言的分类 需求定义语言。(书写软件需求定义。PSL) 功能性语言(书写软 阅读详情

相关推荐

一起看看,软件工程发展简史

为了更好的体系化软件工程相关技术,第一篇文档先整体视角回顾整个软件工程核心的关键时间点,后续再逐步展开。软件工程发展简史。

程序人生 1万+

软件工程导论12-Web工程

Web工程 Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。 Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。 Web工程使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统。 1.基于web系统和应用的属性 Web工程不是软件工程的完全克隆,但是它借用了软件工程的许多基本概念和原理,强调了相同的技术和管理活动 WebApp :Web的系统和应用 Web系统和应用:不同于其他类别的计

weixin_43142450的博客 1382

基于Web的仓库管理系统的设计与实现

JSP技术使用起来是非常灵活的,可以用来便携JAVA程序的。本技术还可以用来对一些编程的动态的网页来进行封装。网页还可以访问一些在服务器端的各种资源的一些逻辑应用。JSP技术还可以将一些网页的逻辑与网页的设计和还有显示进行分离,对于一些可重用的基础的组件的开发进行支撑,更加容易的对基于Web的应用程序进行设计。在现今,计算机技术在不断发展,Web 技术也随之不断的发展,产生了许多方法来解决动态页面的生成问题,目前用于声称动态网页的技术有CGI、ASP、PHP及JSP。

安卓精品项目源码 1339

web系统演变

一.单机构建网站     网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate、maven+spring+springmvc+mybatis;最后再选择一个数据库管理系统来存储数据,如mysql、sqlserve

fanyos的专栏 431

Java软件工程实践课程设计:TTMS项目深入解析

设计模式是针对特定问题的软件设计的解决方案,它们是经过时间检验的、针对特定问题的、可复用的设计。设计模式是软件工程领域的重要组成部分,它帮助我们构建更为灵活和可维护的系统。持续集成(CI)是一种开发实践,团队成员频繁地(一天多次)将代码集成到共享仓库中。持续部署(CD)则是将通过所有测试的代码自动部署到生产环境。流行的CI/CD工具包括Jenkins、Travis CI等,它们能够自动化编译、测试和部署流程,提供快速反馈。

weixin_31139479的博客 1044

软件工程网站设计实例

精品课程网站设计与实现论文,(有范文)(1).zip )

web 系统 和传统的软件系统的对比

web系统:淘宝网站 B/S 传统的软件:word 测试相同点:都是按照需求进行测试 测试流程是一样的:制定测试计划,设计测试方案,编写测试用例(各环节评审),执行用例 测试的方法也是一样的:每个软件都可以手动测试,也可以自动化测试,都可以进行白盒测试,也是可以 黑盒测试,还有灰盒测试......具体方法不重要,重要的是找出 漏洞 ...

weixin_44819949的博客 860

混合示教长短时记忆网络的车辆轨迹预测研究

论文"混合示教长短时记忆网络的车辆轨迹预测研究"中数据处理及MTF-LSTM模型实现代码,模型在Pytorch框架下实现。

ColinFhz的博客 1447

web系统浅谈

额,也算搞了web系统好多年了。现在就八一八web系统吧。 从一个url请求开始,经过一级域名解析,二级域名解析或者单纯分发,再经过相关应用解析,才能进入业务处理。在解析的过程中,会利用负载均衡对访问进行分流,比如F5、LVS等负载手段。进入应用的业务处理后,针对对应的请求,可以通过直接的业务处理,请求获得DB的数据,缓存中的数据,图片服务器的数据来加载渲染请求的页面。  对负载均...

dreaming架构师,充分践行,适当补充理论的一年 159

立创EDA开源项目:小北极冰冰杯(夏)——基于ESP32-C3的智能半导体制冷杯硬件设计与功能解析

本文详细解析了基于ESP32-C3的智能半导体制冷杯——小北极冰冰杯的硬件设计与核心功能。项目利用半导体制冷片实现快速降温,并集成了PWM智能调速散热、四路温度监控、杯具检测及PD/DC双电源输入等实用功能。文章深入剖析了其硬件架构、控制逻辑及实战注意事项,为嵌入式开发与智能硬件爱好者提供了宝贵的参考。

weixin_33245447的博客 271

Simulink模块库介绍(一)——信号源模块

Simulink模块库介绍(一)——信号源模块库目录Clock模块Digital Clock模块Band-Limited White Noise模块 目录 simulink模块库中提供了丰富的信号源模块组。逐一介绍,算是对之前做个总结吧 Clock模块 通过时钟模块,输出的时间作为判断呢,如下图,前2s之前为高斯白噪声,后2s为正弦曲线,共计10s。 Digital Clock模块 数字时钟模块主要用于离散系统的计时,sample time表示采用时间,如下图:分别是1s和0.5s的采样时间 Band-

5万+

【软件工程】设计概念

软件工程设计是创造性和艺术性的结合,是实现代码之美的崇高追求。在这个充满挑战和机遇的领域,我们深知优秀的设计不仅能提高系统的性能和可维护性,更能引领未来。通过不断地学习、迭代和实践,我们有望共同构建出更加智能、高效和具有前瞻性的软件系统。让我们携手迈向软件设计之道,开创一个全新的创新时代。

AliceNo的博客 3814

2025华为OD面试手撕代码真题目录及面试八股文

本专栏更新每年华为OD机试的高频手撕代码题,每个题目都会使用五种语言进行解答(C & C++& Java & Python & JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2024e卷,od机试,2024E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2024华为od,如何备

KJ.JK 5万+

《软件工程》课程设计

广州商学院 信息技术与工程学院 2015 — 2016 学年第(2)学期 《软件工程》课程设计 一、课程简介及基本要求 软件工程是一门指导软件开发和维护的工程学科,主要内容包括:软件项目管理、结构化分析和设计、面向对象的分析和设计、用户界面设计、软件测试、软件维护、软件配置管理等等。 本课程要求学生完成软件工程课程的学习后,以小组为单位,完成一个小型软件项目的开...

weixin_30569153的博客 6959

柑橘病虫害识别方案总结

1. 方案一 1.1 赛题背景 1.2 数据分析 1.3 模型设计 1.3.1 模型具体方案 1.3.2 模型设计 1.4 实验结果 1.5 总结与展望 2. 方案二 2.1 赛题介绍 2.2 数据分析 2.3 算法方案解析 2.3.1 检测模型 2.3.2 提升策略 2.4 优化思路 3. 方案三 3.1 数据分析 3.1.1 数据说明 3.2 技术展示 3.2.1 数据输入端 3.2.2 模型结构端 3.2.3 上下文信息 3.2.4 训练优化端 3.2.5 创新性分析 3.3 算法及系统思考.....

herosunly的博客 2万+

TMC2240 芯片数据手册解读|第三篇 TMC2240 芯片引脚配置与说明

本文详细解析了TMC2240芯片的两款封装(TQFN32和TSSOP38-EP)的引脚分布、电气属性及硬件设计要点。内容涵盖:1)芯片内部功能架构,包括供电、运动控制等五大链路;2)两款封装的核心规范与适用场景;3)七大引脚分类详解(电源、控制、编码器等)及接线要求;4)PCB设计避坑指南,强调电源分割、电荷泵布局等关键点。文章提供完整的原理图绘制和硬件调试指导,适合不同基础的工程师参考实践。

BackCatK Chen的博客 1092

软件工程毕业设计题目100例

学长搜集分享最新的软件工程业专业毕设选题,难度适中,适合作为毕业设计,大家参考。相对容易工作量达标题目新颖。

caxiou的博客 1万+

2、探秘储备池计算:原理、应用与前沿趋势

储备池计算(Reservoir Computing)作为一种新兴的计算方法,起源于计算神经科学和机器学习领域,现已广泛应用于非线性动力系统理论、物理学、材料科学、生物学和机器人学等多个领域。其核心优势在于概念简洁性,通过利用高维动态系统的非线性响应,将学习过程集中在读出层,避免了传统循环神经网络(RNN)训练的复杂性。储备池计算的发展方向主要包括拓展到非线性动态系统和利用物理动态系统作为计算资源(PRC),后者有望突破冯·诺依曼瓶颈,实现边缘计算。理论方面,储备池计算与人类大脑的信息处理方式密切相关,并推动

ggg99的专栏 736

基于 Java Web 的软件工程毕业设计选题指南:常见系统类型与实现思路解析

本文针对计算机专业(尤其是软件工程方向)毕业设计常见问题,从选题到实施提供系统指导。重点分析了三类常见系统(管理信息系统、Web业务系统、综合服务平台)的特点及适用性,强调选题应具备清晰场景、模块划分和完整开发流程。文章指出,毕业设计成功关键在于:1)选择规模适中的题目;2)采用模块化开发方式;3)完整记录工程决策过程;4)规范文档表达。通过遵循软件工程方法论,学生可避免选题不当、开发失控等问题,有效提升毕业设计质量。文末推荐使用"毕业设计助手"工具辅助完成全流程工作。

聚焦学生开发者需求,分享课设毕设项目实战经验、系统开发技巧、数据库设计规范及文档排版实用方法。 498

lammps原子组速度的计算方法

在lammps摩擦、冲击、压痕等模拟过程中,涉及到某个原子组的整体移动,如果要输出这个原子组的整体移动速度,可以使用vcm()函数。下面是一个具体的使用案例,金刚石球在盒子内移动,输出移动过程中金刚石球在x方向的质心速度。vcm()是lammps自带的一个函数,返回原子组质心在设定方向的速度。其中,ID为group-ID,dim为方向,可设置x、y或者z方向。大家好,我是小马老师。

lammps_jiayou的博客 343

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Web前端之软件工程

2019-08-18 第一天学习web前端 1.课程体系: 1.课程体系: (1)项目导入/数据库/JS基础/服务器端动态语言(服务器端开发) (2)HTML基础/AJAX/CSS/bootstrap(前端核心技术) (3)JS高级/DOM&BOM/JQUERY/VueJS(前端进阶技术) (4)VueJS组件库/HTML5/微信开发/HybirdAPP(移动端开发) (5)Angula...

lb569484787的博客 1366

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

解读大学里的软件工程专业以及其他专业,给高考完的学弟妹一点参考

我是二本本科,软件工程专业毕业,技术方面一般般,社交方面一般般,目前工资一般般,想给那些马上要进入大学校园的学弟学妹一点点参考性的建议。 先说本专业-软件工程 与之类似的有“计算机科学与技术”,我们叫软件工程,大学里接触的第一门编程课就是“C语言程序设计”,学会这个之后,你能在控制台的黑框框里写点代码,输出一点点东西。接下来就是数据结构与算法、计算机组成原理、计算机网络、数据库设计、UML建模、W...

Caeser110的博客 2724

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: [推荐] VC 入门的一条路 -- 史列因
下一篇: 专家告诉你设计好用网站的窍门
bruce
博客等级 码龄27年 12粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值