赞
踩
(一)基本概念
软件工程之所以叫工程,是因为软件开发的过程也和其他工程一样,可以分成几个环节,并且这些环节需要被有效组织起来,软件开发也需要系统的工程思维。
具体而言,一个程序从什么都没有到最终上线,主要也包括以下几个环节:需求分析、设计、编码、测试。
第一步,需求分析。最初的需求一般来自产品经理,这些需求大多比较模糊,软件工程师需要和产品经理就每个细节进行充分沟通,明确最终要交付的是怎样一个产品,同时考虑到每个环节可能遇到的问题。
第二步,设计。设计是程序开发里非常重要的一环,具体细分为技术调研、原型设计、架构设计等。
第三步,编码。等到软件工程师弄清楚该怎么做了,就开始通过代码去实现设计里的内容,有很多有关编码的原则和方法。
第四步,测试。测试指的是一系列检验代码能否正常运行的方法,包括很多类型,比如单元测试、性能测试、集成测试,等等。
等到上面这些环节全部完成,一个程序才能正式发布上线。程序上线后免不了出现Bug,这时候还需要软件工程师不断修复和迭代。
一般来说,新人进入公司后,主要做的是执行层面的任务,这些任务只是整个软件工程里的一小部分,比如写个模块,修复Bug,相当于从最基础的工作做起。这个阶段你需要重点关注的是,第一,养成良好的工作习惯;第二,培养自己的执行能力——说白了,就是脚踏实地,做好工作中一点一滴的事情。
不要小看这两点,因为只有养成好的工作习惯,并且能够保质保量完成任务,一位软件工程师的单兵素养才算基本建立起来。越是复杂的系统工程,对单兵素养的要求就越高,软件工程师这一行尤其如此。
一般来说,新人通常集中于编码、测试、改Bug等工作,在上级的指导下把已经设计好的程序开发实现出来,或者是通过改Bug维护已有的程序。
一个网站开发项目就是一个软件工程。网站开发隶属于软件工程,开发流程为:需求分析→设计说明(细分为概要设计和详细设计)→代码编写→程序测试→软件交付→客户验收→后期维护。本讲分别从需求分析、设计说明的角度研究如何分析客户需求,并根据客户需求设计网站架构。
1、软件工程概述
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
2、软件工程阶段
定义阶段:可行性研究、初步项目计划、需求分析
开发阶段:概要设计、详细设计、实现、测试
运维阶段:运行、维护
3、软件需求
软件需求包括3个不同的层次――业务需求、用户需求和功能需求。除此之外,每个系统还有各种非功能需求。
(1)业务需求
业务需求(business requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。使用前景和范围(vision and scope)文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求(project charter或market requirement)文档。
(2)用户需求
用户需求(user requirement)描述的是用户的目标,或用户要求系统必须能完成的任务。用例、场景描述和事件――响应表都是表达用户需求的有效途径,也就是说用户需求描述了用户能使用系统来做些什么。
(3)功能需求
功能需求(functional requi
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。