构建网站与开发过程:揭秘软件开发工程师的角色定位

何为软件开发工程师

软件工程师(Software Engineer),系从事软件职业的人员所具备的一种职业能力认证,表明其已具备工程师的资质。软件工程师是对从事软件开发相关工作人员的统称。常与程序员(英文Programmer)混淆,实则性质各异。程序员是专门从事程序开发、维护的专业人员。通常将程序员划分为程序设计人员和程序编码人员,但两者界限并不明确,尤其在我国的现状中。软件从业人员可分为初级程序员、高级程序员、系统分析员、系统架构师、测试工程师五大类别。

软件工程师的职责与程序员有所不同,但一个优秀的软件工程师必定是卓越的程序员。

首先,软件工程师与程序员在工作上的最大区别可以打个比喻:将一款软件比作一座大桥,那么软件工程师相当于施工总指挥,而一般的开发人员即程序员相当于建筑工人,因此很多人自称“IT民工”便是源于此。

欲成为一名卓越的软件开发工程师,必须具备以下能力:

1、需求分析能力

对于软件工程师而言,理解需求即可完成合格的代码。但对于研发项目的组织和管理者,他们不仅要理解客户需求,更多时候还需自行制定一些需求。

2、项目设计方法和流程处理能力

软件开发工程师必须掌握不少于两到三种的项目设计方法,并能够根据项目需求和资源搭配来选择合适的设计方法进行整体项目设计。

3、复用设计和模块化分解能力

作为一个从事模块任务的软件开发工程师,他需要考虑所面对的特定功能模块的复用性。而作为一个系统分析人员,他需要面对的问题更为复杂,需要对整体系统按照一种模块化的分析能力分解为许多可复用的功能模块和函数,并针对每个模块形成一个独立的设计需求。

4、整体项目评估能力

作为系统设计人员,必须能够从全局出发,对项目有整体的清醒认识,例如公司的资源配置是否合理和到位,工程进度安排是否能最大化体现效率又不至于无法按期完成。

5、团队组织管理能力

(1)工作的量化

没有量化就难以实现合适的绩效考核,而程序量化并非简单的代码行数可以衡量,因此要求技术管理人员能够真正评估一个模块的复杂性和工作量。

(2)对团队协作模式的调整

一个优秀的软件开发工程师应该能够根据程序员之间的能力水平差距以及项目研发的需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,以充分发挥团队效率。

电子商务网站的开发流程如下:

第一步:客户需提供完整的需求说明。

许多客户对自己的需求并不明确,需要您不断引导和帮助分析。曾经有一次,我问客户:“您做网站的目的是什么?”他回答:“没有目的,只是因为别人都有,我没有!”这样的客户就需要耐心说明,仔细分析,挖掘出其潜在的、真正的需求。

与客户共同撰写一份详细、完整的需求说明需要花费很多时间,但这样做是值得的,且一定要让客户满意并签字认可。把好这一关,可以避免许多因需求不明或理解偏差而导致的失误和项目失败。糟糕的需求说明不可能有高质量的网站。

那么,需求说明书要达到怎样的标准呢?简单来说,包含以下几点:

1、正确性:每个功能必须清晰描述交付的功能;

2、可行性:确保在当前的开发能力和系统环境下可以实现每个需求;

3、必要性:功能是否必须交付,是否可以推迟实现,是否可以在削减开支的情况下“砍”掉;

4、简明性:不要使用专业的网络术语;

5、检测性:如果开发完毕,客户可以根据需求进行检测。

第二步:进行系统分析。

网站总体设计:在拿到客户的需求说明后,并不是直接开始网站制作,而是需要对项目进行总体设计、详细设计,并向客户提交一份网站建设方案。总体设计是非常关键的一步。它主要确定:1、网站需要实现哪些功能;2、网站开发使用什么软件,在什么样的硬件环境下;3、需要多少人,多少时间;4、需要遵循的规则和标准有哪些。

同时,需要撰写一份总体规划说明书,包括:1、网站的栏目和版块;2、网站的功能和相应的程序;3、网站的链接结构;4、如果有数据库,进行数据库的概念设计;5、网站的交互性和用户友好设计。

网站建设方案:在总体设计出来后,一般需要向客户提交一份网站建设方案。许多网页制作公司在接洽业务时就会被客户要求提供方案。那时的方案一般比较笼统,而且在客户需求不是十分明确的情况下提交方案,往往与实际制作后的结果会有很大差异。因此,应该尽量取得客户的理解,在明确需求并总体设计后提交方案,这样对双方都有益处。

网站建设方案包括以下几个部分:1、客户情况分析;2、网站需要实现的目的和目标;3、网站形象说明;4、网站的栏目版块和结构;5、网站内容的安排,相互链接关系;6、使用软件、硬件和技术分析说明;7、开发时间进度表;8、宣传推广方案;9、维护方案;10、制作费用;11、本公司简介:成功作品、技术、人才说明等。

当方案通过客户的认可后,就可以开始动手制作网站了。但还不是真正意义上的制作,你需要进行详细网站设计:总体设计阶段以比较抽象概括的方式提出了解决问题的办法;详细设计阶段的任务就是把解法具体化。详细设计主要是针对程序开发部分来说的。但这个阶段的任务不是真正编写程序,而是设计出程序的详细规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该包含必要的细节,例如:程序界面、表单、需要的数据等。程序员可以根据它们写出实际的程序代码。

当方案获得客户的同意,便可以着手构建网站了。然而,这尚非实质性的制作,您需先进行周密的网站设计:在总体设计阶段,我们以较为抽象概括的方式提出了解决问题的方法;而在详细设计阶段,我们的任务则是将这一方法具体化。详细设计主要针对程序开发环节。然而,此阶段并非真正编写程序,而是设计出程序的详细规格说明。此类规格说明的作用与工程师在工程领域经常使用的工程蓝图相似,它们应包含必要的细节,例如:程序界面、表单、所需数据等。程序员可以根据这些信息编写实际的程序代码。

总体设计至关重要。它主要确定以下事项:

1、网站需要实现哪些功能;

2、网站开发所使用的软件及硬件环境;

3、所需人员和时间;

4、需遵循的规则和标准。

同时,还需撰写一份总体规划说明书,包括:

1、网站的栏目和版块;

2、网站的功能及相应程序;

3、网站的链接结构;

4、如有数据库,进行数据库的概念设计;

5、网站的交互性和用户友好设计。

第三步是制定网站建设方案。

在总体设计完成后,通常需要向客户提交一份网站建设方案。许多网页制作公司在接洽业务时,客户会要求提供方案。那时的方案通常较为笼统,而且在客户需求不明确的情况下提交方案,往往与实际制作后的结果存在较大差异。因此,应尽量争取客户的理解,在明确需求并完成总体设计后提交方案,这对双方都有益处。

网站建设方案包括以下几个部分:

1、客户情况分析;

2、网站需要实现的目的和目标;

3、网站形象说明;

4、网站的栏目版块和结构;

5、网站内容的安排,相互链接关系;

6、使用软件、硬件和技术分析说明;

7、开发时间进度表;

8、宣传推广方案;

9、维护方案;

10、制作费用;

11、本公司简介:成功作品、技术、人才说明等。

另外,关于网页设计注册事项:

1、框架结构(Frame Sets)

部分搜索引擎(如FAST)不支持框架结构,其“蜘蛛”程序无法阅读此类网页。

2、图像区块(Image Maps)

除AltaVista、Google和Northern Light(现已停止公共搜索服务)明确支持图像区块链接外,其他引擎不支持。当“蜘蛛”程序遇到此类结构时,往往会感到困惑。因此,尽量避免设置Image Map链接。

3、特效链接

我们经常看到一些网站为导航链接添加特效,如点击某个项目会展开下层链接等。这些效果通常通过JavaScript实现,视觉上新颖,但在“蜘蛛”程序看来则不那么吸引人,相反,它无法解读这种链接。为了让搜索引擎顺利检索到你的网页,建议还是舍弃一些花哨的东西。

4、FLASH

虽然FLASH网站制作的网页视觉效果较好,但搜索引擎对此并不感冒,案例表明此类网站很难被百度搜索引擎索引。明智的做法是提供FLASH和非FLASH网页两种选择,这样既增加了网页的观赏性,又兼顾了搜索引擎的需求。

5、动态网页(Dynamic Pages)

任何地址中带有“?”号、“&”号(及其他类似符号)的网页都会将“蜘蛛”程序拒之门外。这些网页通常由CGI、PHP、ASP等程序生成,技术上较为先进,但不适合搜索引擎的“蜘蛛”程序。尽管目前有的大型搜索引擎(如Google)已具备检索动态网页的能力,但仍有相当一部分搜索引擎不支持。而且即使是能够索引动态网页的Google,也在多个场合中明确表示不保证检索全部的动态网页。

因此,除非是超大型网站,为方便起见不得不采用动态网页生成技术,否则还是尽量使用静态网页为好。

6、加密网页

除非您不希望搜索引擎检索您的网页,否则请不要对您的网页进行加密。

7、网页容量

包括图像在内的网页字节数最好不要超过50K。体型庞大的网页下载速度慢,不仅会让普通访问者焦急不安,有时也会使“蜘蛛”程序感到厌烦。目前搜索引擎都不愿收录位于免费主页空间上的网站。其理由是,既然您认为自己的网站如此重要,以至于需要登录搜索引擎让全世界都知道,那么您没有理由还将它放在免费服务器上。更何况免费主页通常速度较慢,会影响大家搜索信息的效率。

以上所转载内容均来自于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2020@163.com,本人将予以删除。
THE END
分享
二维码
< <上一篇
下一篇>>