0071 如何从零开始创建一个IT信息系统
作者:学哥
发布时间:2019-7-24
第4章的内容主要是学习PHP编写动态网站,然后结合MySQL数据库实现数据的查询修改。
第5章仍然是巩固以上内容,结合HTML+CSS+JavaScript+PHP+MySQL实现一个图书馆管理系统网站,但侧重点在于如何完成一个完整的IT系统,讲解一个IT系统从开始到上线到结束的完整过程,让大家对于IT系统的开发有一个详细的认识。
系统工程的概念
任何一件事情,最终一定是要达到一定的目的,为了完整这个目的,需要完整的从系统的概念来思考、设计、组织完成。
整体性是最重要的核心,作为一个系统首先必须明确作为一个整体所体现的功能,即整体的目的性。
任何一个组成要素都不能离开整体去研究,要素间的相互联系和作用不能脱离整体协调去考虑,要素的机能都要服从整体的目的和功能。
系统工程是组织管理系统的规划、研究、设计、制造、实验和使用的科学方法。
IT信息系统同样遵循系统工程的概念。
也就是首先要考虑IT信息系统要解决的整体性目的是什么?然后根据整体目标分解为更详细的目标,然后针对不同的目标进行规划和设计,再接着就是进行制造或编写实现,再然后就是进行实验和使用,以及对应的维护,直至系统的终结。
IT信息系统的生命周期
按照系统工程的概念来进行IT信息系统的建设,一般分为如下一些步骤或者流程阶段:
1.项目立项
2.项目招标
3.需求分析
4.概要设计
5.详细设计
6.系统开发
7.单元测试
8.集成测试
9.部署上线
10.日常运维
11.系统更新
12.系统终止
当然不同的项目可能某些步骤或者流程可以省略。
下面对每个阶段进行简单的说明。
1.项目立项
一般要建设一个信息系统,总是有一个启动事情的源头,比如一个公司要运营某些业务,需要一个信息系统来进行数据和流程管理。
就会产生一些对信息系统的要求,这些要求可能很明确,也可能很模糊,但终归是知道信息系统最终要达成一个什么目的。
这时候一般都是在组织内部先进行项目立项的工作,也就是要明确信息系统项目的大致目标以及需要的资源,然后通过内部的审核,通过之后才能组织相关的人力物力资源进行系统项目的建设。
2.项目招标
一般公司或者组织或者个人要建设一个IT信息系统项目,可能会有项目招标,这取决于组织内部是否具备相关的人力物力资源,如果不具备相关专业技能的人员或者资源,可能就需要进行项目招标,通过资源置换的方式获得能够完成系统项目的相关能力。招标可以是内部招标也可能是外部招标,取决于项目的目标和实际拥有的资源配备情况。
3.需求分析
一般而言,项目立项之后,不论是否招标,为了完成项目目标,都会组成相应的项目组,项目组的成员主要的职责就是组织协调内部和外部资源进行项目的建设和生产。第一步就是要将项目的整体性目标分解为可以实现的具体详细功能和目标,这就是需求分析。可能需要和公司内部相关流程进行配合,或者和相关人员进行会议讨论等形式进行明确,成果物一般就是需求分析报告。需求分析的目的就是要将需要达到的目的进行尽可能的明确具体化,从而为后续的设计制造提供清晰的来源和输入,减少项目建设当中的不确定性。
4.概要设计
需求分析完成之后,就可以进入真正的IT系统编写制造阶段了,这时候一般由资深的系统开发工程师来进行一个概要设计,概要设计的目的是将系统进行整体性的考虑,根据各个方面的情况进行一个平衡和妥协,在确保系统目标完成的基础上,选择相应的系统设计,技术架构,技术路线,开发编程语言,测试环境等等。确保后续的更多成员参与进来之后有一个明确的大框架可以遵循。
一些比较小的系统此步骤也可以省略,直接将相关要考虑的问题放在详细设计中一并完成。
5.详细设计
在概要设计的基础上,对各个详细功能进行具体的设计。
一般包含的成果可能有:界面设计、功能设计、数据库设计、编程规约、共通规则、批处理设计、测试案例设计。
6.系统开发
有了详细设计之后,具体的编程开发人员就可以根据详细设计进行具体代码的编写,这就是大家所熟悉的程序员所做的事情。
要知道编程开发仅仅只是IT系统工程当中的一个环节而已,当然这个环节也是很重要的一个环节。
7.单元测试
一般来说,程序员除了编写具体的功能或者页面代码之外,还要通过单元测试来确保自己编写的这部分功能是正确的,基本的功能是能够运行的,不会出现错误。单元测试的目标就是在不和其它功能模块发生相关性的前提下确保本单元开发的正确性和有效性。
8.集成测试
很多时候,多个功能或者页面之间是有前后关联性的,在IT系统中是一个普遍现象。这时候,单元测试是无法达到整体测试的目标的。
这就需要进行集成测试,就是通过设计的合理的测试案例进行流程测试,确保系统的整理流程功能符合预期的结果。
集成测试一般有:功能性测试、压力测试、大数据量测试、试运营测试等等不同的分类。
9.部署上线
完成集成测试之后,就可以进行部署上线了。
部署上线一般会有:数据库结构创建,初始数据导入,代码部署,批处理脚本启动,功能性确认测试,操作手册编写,系统使用说明培训等等工作。
10.日常运维
系统正常运行之后,IT人员还要进行日常的运营维护,确保服务器或者数据库的正常工作。
工作内容包括:系统巡检、日志检查、数据备份、数据修正等工作。
11.系统更新
一般而言,一个系统上线运行之后,很少有完全不改动的。
由于需求的变化,或者系统开发时未发现的小缺陷,很多时候,都要对系统进行修改,并进行更新,让系统能够满足使用的要求。
系统更新一般也是遵循以下流程:变更详细设计、开发、测试、集成测试、数据修正、代码更新等工作。
12.系统终止
任何系统运行到某个阶段之后,最终都会进入一个终止的阶段,这时候就是一个IT系统的生命的结束。
一般而言会进行以下工作:数据备份、系统备份、系统停止、硬件或网络资源回收等等。
一个IT项目的各种人员角色
一个IT项目,一般是要由不同的角色人员组成的,进行一定的分工合作,完成整体的项目目标。
一般会有以下角色:
项目经理:领导整个项目的开发。
产品经理:设计和管理项目需求,和系统使用方进行沟通协调,进行系统概要设计。
设计工程师:根据需求分析和概要设计进行系统详细设计。
UI设计:根据详细设计进行界面美工设计。
架构师:设计系统整体架构,技术路线等大框架,编写开发核心功能等。
开发工程师:根据详细设计编写程序代码,进行单元测试。
测试工程师:进行单元测试和集成测试。
部署运维工程师:进行系统部署上线,以及日常运维工作。
当然不同人员可能分配不同角色,也可能多个角色一肩挑,取决于项目和人员的匹配程度。
实现一个图书馆管理系统
这里,学哥计划以实际的图书馆管理系统为例,来给大家演示如何完成一个IT信息系统,尽量讲解各个流程步骤的相关知识,让大家对于IT系统建设开发有一个直观的认识。
以下就是图书馆管理系统的源头:
某个区政府下面的某个街道有一个社区图书馆,需要开发一个图书馆管理系统,系统有2大目标:
1.内部工作人员能够通过系统管理所有的图书和库存情况,借书用户信息以及借书还书情况以及订单查询。
2.读者可以通过互联网网站查询图书和剩余库存情况,并可通过IC卡号和密码登录后在线查看自己的图书借阅情况以及待支付借阅费等信息。
可以看到,项目是有大目标的,但是具体的细节还很不明确,不过没关系,后续学哥作为投标方会来完成所有的细节工作。
需求分析阶段
学哥作为唯一的投标方,垄断了这个项目,因此直接进入到需求分析阶段。
通过和需求方的持续讨论,学哥梳理出了这个图书馆管理系统的大致需求。
1.项目成果物应该是一个互联网网站,分为2大块:内部管理和公开访问。
2.内部管理主要是用于内部员工管理,图书管理,库存管理,用户管理,借书和还书管理,IC补卡,费用查询。
3.公开访问分2种情况:普通用户和借阅用户。普通用户无需登录,可访问所有图书和剩余库存数以及对应图书馆书架摆放区域位置,可访问图书借阅热门排行榜,按历史/近1年/近1月分别统计排行榜。
借阅用户需要IC卡号和密码登录,除了具有普通用户的功能,还可以查询自己的借书和还书情况,以及自己的待支付金额。
4.内部员工根据工作分工有不同的页面功能权限。
5.管理员可以创建编辑和删除员工,以及设置员工相应的页面功能权限。
6.员工可以创建图书的信息,1个图书可能有多个书本实体可供借阅。每本图书有存放的书架位置。
7.1个图书可能通过购买增加库存用于借阅,也可能由于读者毁坏或者丢失从而需要减少库存。
8.借书和还书必须在图书馆进行,借书的时候,读者需要自己找到书本实体,并到服务台办理借阅手续。
9.如果用户是第一次来借书,需要提供身份证,然后员工要创建借阅用户,并发放给用户一个IC卡号和设置相应密码,用于网上查询,同时收取200元押金。
10.借书的时候,根据书的库存ID查询书本信息,借书时不收钱。
11.借书之后,根据借书情况和借阅天数,显示该用户待支付借阅费,每本书每天收0.2元。
12.还书的时候,根据IC卡号或者身份证号可以查询用户,根据情况收取相应金额,如果图书损毁或者丢失,需要收取赔偿金,并进行减少库存操作。
13.还书之后,员工需要将书本摆放到对应的书架或者库存,并到系统中登记,这样这本书才可供借阅,否则书本实物管理会混乱。未摆放好的书本,状态为未上架,未上架的暂不能借出。此步骤可称之为图书上架。新书采购进来之后同样为未上架。可以将位置信息打印为一个不干胶标签贴在书背面,不干胶标签有库存ID和位置文字。
14.借阅用户可以做IC补卡,但需要支付IC卡赔偿金20元,员工然后执行补卡操作。将用户的卡号变更为新卡卡号。
15.借阅用户如果IC卡密码忘记,可以到图书馆办理密码重置服务。
16.借阅用户可以退卡,员工先确认完成所有还书,收取相关费用,然后注销用户,收回IC卡,退还押金。
17.内部员工可以进行订单查询。
根据以上业务流程的需求,整理出信息系统运转的基本流程如下:
新书上架流程:
管理员登录>管理员创建员工和设置权限>员工登录>员工创建图书>员工新增库存>员工图书整理>普通用户查询图书和剩余库存和摆放位置
用户借书流程:
员工创建新用户>新用户获得ID卡和密码>员工读取IC卡或者身份证号>员工进行借书管理
用户查询流程:
用户使用ID卡号和密码登录>用户查询图书和剩余库存和摆放位置>用户查询借书和还书历史记录>用户查询待支付借阅费
用户还书流程:
员工登录>读取用户IC卡或者身份证号>员工进行还书管理>员工登记图书丢失>确认收取费用
图书上架流程:
员工登录>查询待整理图书一览并打印>确认图书已完成上架
用户补卡流程:
员工登录>员工进行补卡处理>确认收取费用
用户退卡流程:
员工登录>员工进行退卡处理>确认收取费用>确认退还费用
用户重置密码流程:
员工登录>员工进行重置密码处理
费用查询:
员工登录>订单查询
下节课,来进行概要设计,架构设计和详细设计。