学习软软件word范文模板 13页.docx
《学习软软件word范文模板 13页.docx》由会员分享,可在线阅读,更多相关《学习软软件word范文模板 13页.docx(10页珍藏版)》请在冰豆网上搜索。
学习软软件word范文模板13页
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
==本文为word格式,下载后可方便编辑和修改!
==
学习软软件
篇一:
软件工程学习
绪论
0.1软件工程的背景
从定义上说,软件工程是一门工程学,因此它和其它工程学科有一系列相同的职责。
一个相同的特征是都必须有一个彻底说明要做什么东西的过程,及需求分析;但另外,软件项目受制于非常频繁的变更
0.2软件工程的活动
?
定义要使用的软件开发过程
?
管理项目的开发活动
?
表述想要的软件产品
?
设计产品
?
产品实现,即编程
?
测试产品的单独模块
?
产品集成并做整体测试
?
产品维护
软件工程涉及4P,即People(人),Process(过程),Project(项目),Product(产品)
软件开发工作的产品不仅仅包含目标代码和源代码。
文档、测试结果和生产率的度量也是。
0.3过程
瀑布过程、迭代过程、增量过程、螺旋过程、…
0.4项目(Project)
项目是为了生产所需要的工件应该采取的一组活动的集合。
它包括和客户交流、撰写文档、设计、编码和对产品做测试。
0.5人员(People)
软件项目中涉及到人与人之间的交互作用对于项目的成功与否有着深切的影响。
人员问题影响项目的另一个因素与项目的风险承担者有关。
0.6产品(Product)
软件过程各阶段的输出都是产品。
第一章:
过程
1.1区分各种开发的过程,指出各自的优缺点
?
瀑布过程模型:
概念分析,分析,设计,实现(编码),单元测试,集成,系统集成,维护;易于控制文档
?
迭代过程模型:
不断重复的瀑布过程被称为迭代模型;能够在每次迭代中都收集到过程中产生各种度量。
?
螺旋过程模型:
该过程需要经历多次需求分析/设计/实现/测试这组顺序活动。
这样
做的主要原因是基于规避风险的需要;缺点:
每次都要保持文档的一致性。
?
增量过程模型:
在迭代过程模型基础上,每次迭代只是前一次的基础上增加少量功
能。
?
统一软件开发过程(面向对象开发过程)
1.2量化定义软件的质量
1.3理解所需要的文档
第二章:
项目管理
2.1项目管理简介
2.1.1项目管理的含义
项目管理是指在有限的时间和资金内管理产品的生产过程。
因为需要人力资源,所以项目管理不仅涉及到技术和组织方面的技能,而且涉及到管理人员的艺术。
2.1.2项目管理的要素
?
结构(涉及到组织元素)
?
管理过程(参与人员的职责和监督)
?
开发过程(方法、工具、语言、文档和支持)
?
进度(开展工作各部分的时间安排)
2.1.3主要变量:
成本、性能、质量和进度
2.1.4项目管理过程的典型路线图
1.了解项目内容、范围和期限
2.确定开发过程(方法、工具、语言、文档和支持)
3.设定组织结构
4.明确管理过程(各参与人员的职责)
5.制定时间表(工作各部分的时间安排)
6.制定人力计划
7.风险管理
8.确定要生产的文档
9.开始执行项目
2.2管理项目人员
2.2.1专业精神
2.2.2人员管理的重要性
开发软件需要的首要因素是人员
2.2.3企业的视角
2.2.4管理层的视角
2.2.5工程师的视角
2.3组织人员的选择
2.3.1沟通管理
2.3.2职责结构的选择
2.3.3项目人员的来源
2.4识别和规避风险
2.4.1风险定义
风险就是在项目过程中有可能发生的某些意外事情,而且在最糟的情况下将对项目产生巨大的负面影响甚至导致失败。
风险有两种类型
?
能够避免或则绕开的风险(“被消除”),比如项目领导离开公司
?
不能避免的风险,比如没法做的事情
识别第二类风险可以在项目浪费资源之前就终止它。
2.4.2风险管理概论
?
识别(心态:
设法持续的识别风险)
?
规避计划
?
划分优先级
?
消除或者减弱风险
2.4.3风险识别
2.4.4风险规避
风险规避是指减轻甚至消除风险的过程。
有两种方法:
一时改变项目的需求,这样引起风险的问题就不再存在;第二种方法是通过技术开发解决这个问题。
2.5选择开发工具和支持
2.5.1过程方法:
可选的方法有瀑布、螺旋、统一和增量
2.5.2工具
2.5.3抉择:
开发还是购买
2.5.4语言选择
2.5.5文档
2.5.6支持服务
一个项目需要众多人的支持,包括系统管理员、网络管理员、数据库管理员、秘书等等。
项目经理需要确保能够获得这些人员的服务。
2.6创建时间表:
概要的计划
1.标出必须关注的里程碑
?
通常包括交付日期
2.基于上述内容引入所需要的里程碑
?
例如:
在交付之前做好系统测试
3.列出第1次迭代
?
通常应该在功能上保持简单
?
好处:
磨练自身的开发过程
4.列出识别和规避风险的任务
?
从项目启动就开始
5.标出中期附近还没有分配任务的时间(例如,周)
6.完成时间表
第三章需求分析
(一)
本章讨论对于软件需求的整体分析。
3.1.1需求分析的含义
要建造某个事物,必须首先了解这个“事物”是什么样子。
了解并用文档描述这个事物的过程被称为“需求分析”。
需求通常表达应用是用来做什么的;需求分析的输出是一份文档,通常被称为需求规格说明书或者软件需求规格说明书(SRS)。
3.1.2C需求和D需求
将需求分为两个层次,第一层记录了客户的需要和要求,使用他们明白的语言进行描述。
这个结果被称为“客户需求”或者“C需求”。
C需求的首要读者是客户群体,其次是开发人员。
第二层需求则按明确的、有组织的形式来记录。
他们被称为“开发人员需求”或者“D需求”。
D需求的首要读者是开发人员,其次是客户群体。
3.1.3为什么必须书写需求
没有这样的文档,小组无法真正了解需要完成的目标是什么,无法正确地检查产品,无法正确地测试产品,无法跟踪生产效率,无法获得足够的实践数据,无法估计下一项工作的规模和工作量,更无法满足客户的要求。
3.1.4典型的需求分析过程路线图
1.识别“客户”
2.访谈“客户代表”
?
识别需要和要求
?
使用工具帮助表达
?
绘制GUI草图
?
确定硬件环境
3.用标准文档格式撰写C需求
4.检查C需求(当客户批准后)
5.构建D需求
3.1.5需求分析的挑战和益处
使开发人员和客户将要开发的应用取得理解并达成一致。
含有缺陷的需求将导致项目代价增加20到50倍。
3.2与客户交流
3.2.1需求的来源
人是需求的唯一来源
3.2.2识别风险承担者
对于项目的成果承担风险和享有利益的人被称做风险承担者。
因此,它们是应用的“客户”:
使用该软件的人,公司的业主,应用开发人员etc.
3.3描述客户(C)需求
3.3.2用例
需求通常可以被看成是应用和应用的外部代理(例如用户)之间的交互。
用用例图可以描述。
3.3.3数据流图(为与客户沟通所用)
某些需求可以是很自然地描述为进程元素之间的数据流。
在数据流图中,节点表示进程单元,用圆形或者矩形表示。
节点之间的箭头代表数据流,箭头上标注数据的类型。
数据存储用一对水平的平行线表示,平行线之间是数据储存的名字,代表数据存放的位置。
外部代理用矩形表示。
3.3.4状态变迁图(为与客户沟通所用)
对于事件驱动型的应用,采用状态变迁图来描述是非常有效的。
(自动机和Petri网的变形)
3.3.5草拟用户界面的其它接口
客户通常在看到应用的图形界面(GUI)时才能够想象这个应用未来的样子,所以帮助客户描述应用的一个好办法就是开发GUI的草稿。
3.3.6
1/2
?
如果需求涉及到用户和应用软件之间的交互,则通过用例进行描述
1.给用例命名。
2.识别用例的“主角”。
(外部的使用角色——通常是一个人)
3.描述用户和应用的活动系列
?
尽量减少分支
?
使用通用的形式
2/2
?
如果需求涉及到进程元素,并需要获得输入并产生输出,则使用数据流图进行描C需求表述总结和指南
篇二:
在线学习系统软件
在线学习系统软件建设方案
一、项目概述.....................................................................................................4
1.1项目背景..............................................................................................................4
二、需求分析.....................................................................................................4
2.1建设的基本原则..................................................................................................4
2.2功能需求..............................................................................................................5
三、总体架构设计.............................................................................................6
3.1系统总体设计思路..............................................................................................6
3.2系统总体架构设计..............................................................................................7
3.3关键技术............................................................................................................10
3.4标准规范建设....................................................................................................13
3.5系统数据库设计................................................................................................17
3.6系统界面设计....................................................................................................23
四、功能设计.............................................................................................