1. 软件工程
1.1 软件工程概述
-
历史
程序设计阶段
软件设计阶段
软件工程阶段:学习建筑行业的质量管理方法,建立一整套的软件过程规范流程,不断提出优化软件质量的改进方法 -
定义:研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及结合经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法
-
目标:在给定成本、进度前提下,开发具有有效性、可靠性、可维护性、可重用性、可移植性、可追踪性的软件产品
-
开发方法:定义以何种流程设计开发软件,以何种方法提高软件质量
1) 重量级开发方法:需要大量文档控制开发过程
2)轻量级开发方法:
1.2 软件生命周期
- 定义
软件生命周期是软件的设计研发到上线运行再到停止使用的完整过程(三个时期八个阶段)
1.软件定义期
1)可行性研究阶段
技术、经济、市场、政策、、成本、人员、进度
2)需求分析阶段
功能需求、性能需求
2.软件开发期
3)概要设计阶段
确定技术路线
按需求划分功能模块
定义模块职责
制定模块间接口
设计项目数据结构
编写数据字典
制定开发测试项目
4)详细设计阶段
细化输入输出
制定内部数据结构
规划内部处理算法
确定内部状态转换过程
5)开发实现阶段
前后端工程师协同工作根据详细设计说明书和编码注释实现功能组件的业务功能
后台:接受指定数据;按算法处理数据;输出数据
前台:切图、编写用户界面;添加用户交互效果;提交指定数据给后台接口,处理返回的数据
6)测试阶段
严格按照建立的详细测试计划以减少测试的随意性
单元测试;组装测试;系统测试
方法:白盒测试、黑盒测试
3.软件维护期
7)部署阶段
8)维护阶段
持续时间最长的阶段,分为纠错性维护和改进性维护
2 服务器
2.1 服务器概述
- 定义
服务器是网络环境中的高性能计算机,负责侦听网络其他客户机提交的服务请求并提供相应服务。高可用性、高速运算、高带宽、高可靠性、强大数据吞吐能力;可分为Client-Server模型(C/S模型)和Browser-Server模型(B/S模型) - 硬件服务器
工作站、小型机、中型机、大型机、超级计算机 - 软件服务器
安装能监听特定端口接收客户端请求的应用程序以提供服务;
服务器应用程序:
DNS服务器:解析域名为计算机IP地址
Web服务器:提供Web页面服务
数据库服务器:提供数据永久存储和高效查询
FTP服务器:文件上传和下载
SMTP/POP3服务器:邮件收发
SSH服务器:远程登录 - 如何访问
访问协议;
主机地址:服务器的域名或IP地址;
端口号:不同服务器使用不同端口;
Ex.1:通过域名访问
1)客户端DNS查询服务向DNS服务器发送请求,返回DNS相应
2)客户端向Web服务器发出HTTP请求,Web服务器向文件系统、数据库以及其他服务器等发出请求并处理,最后返回HTTP响应