软件需求分析


任务


解决目标系统“做什么”问题

深入描写叙述软件的功能和性能

确定软件涉及到的约束和软件接口

定义软件的其它有效需求

特点


一致性、完整性、限时性、有效性、可验证性

需求分析的过程


问题识别


建立分析所须要的通信途径

分析与综合


从信息流和信息结构出发,逐步细化全部的软件功能。找出联系,接口特性和设计上的约束。分析他们是否满足功能要求,是否合理

编制需求分析阶段的文档


软件需求说明书

数据要求说明书

初步的用户手冊

改动完好与确定软件开发实施计划

评审


系统定义的目标是否与用户的要求一致

系统需求分析阶段提供的文档资料是否齐全

文档中的全部描写叙述是否完整,清晰,准确反映用户的需求

与全部其它系统成分的重要接口是否都已经描写叙述

软件需求分析的方法


SA:面向数据流的结构化分析方法

JSD:面向数据结构的Jackson方法

DSSD;结构化数据系统开发方法

OOA:面向对象的分析方法

软件需求分析的原则


分解、化简和抽象

抽象


在開始建立分析模型前先理解问题
开发模型
记录需求的起源和原因
使用需求视图
给予需求优先级
删除排除性

分解


纵向分解和横向分解

数据流图(DFD)


特性


抽象性,概括性,层次性

主要图形元素



数据流与数据加工的关系





检查和改动DFD的原则


仅仅能有四种图形元素
每一个加工至少有一个输入数据流和一个输出数据流
数据流图的主图必须包含四种基本元素,缺一不可
须要添加编号
子图要与主图相应
每一个元素必须有名字。不同意有控制流

数据流图的作用


系统分析员能够用它自定向下分析系统信息流程
可在图上画出须要计算机处理的部分
依据数据存储。进一步做数据分析。想数据库设计过度
依据数据流方向,定出存取方式
相应一个处理过程,用相应的语言、判定表等工具表达处理方法

DFD的优缺点


整体概念强。每一层强调“干什么。须要什么。给出什么”
能够反映数据的流向和处理过程
自定向下分析,easy急躁发现系统各部分的逻辑错误。easy改正
easy与计算机处理相对比
不直观。须要概括、抽象、修正
没有计算机,人工绘制太麻烦,工作量大

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

软工视频总结Part Three的更多相关文章

  1. 【软件project】——软工视频总结

    软件project是一门研究用project化方法构建和维护有效的.有用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面. 软工,基本的六阶段:制定计划 ...

  2. [2017BUAA软工助教]第0次个人作业

    学习别人的经验和体会 零.前言 我认为人生就是一次次地从<存在>到<光明>. 一.软件工程师的成长 0.这是一个博客索引 同学们在上这门课的时候基本都是大三,觉得在大学里,到教 ...

  3. 2017年秋软工-领跑衫获奖感言&我最感谢的人

    啥都不说,先上幅图.获得领跑衫,开心. 一.回忆 这是我第二次来上恩师杨的软件工程,第一次是2016年春,那时候我还是本科三年级的学生.忘了第一次为啥去蹭课,印象中是我的榜样亮哥把我给忽悠过去的?我也 ...

  4. [2019BUAA软工助教]第0次个人作业

    [2019BUAA软工助教]第0次个人作业 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大 ...

  5. 福大软工 · 第十二次作业 - Beta答辩总结

    第三视角Beta答辩总结 博客链接以及团队信息 组长博客链接 成员信息(按拼音排序) 姓名 学号 备注 张扬 031602345 组长 陈加伟 031602204 郭俊彦 031602213 洪泽波 ...

  6. [2018福大至诚软工助教]alpha阶段小结

    [2018福大至诚软工助教]alpha阶段小结 一.得分 1. 冲刺(7次 Scrum) 150分 1)第1篇(25分) 项目 评分标准 各个成员在 Alpha 阶段认领的任务 (6分)视详细程度给分 ...

  7. 2018软工实践K班总结

    再回首一学期的软工实践,首先还是要感谢两位助教童鞋帮我承担了作业发布.打分以及与学生的问题沟通等.从这次的软工实践80人+开始,之后的实践课变为必修,故如何能更有效地组织大班实践环节是一个需要持续探讨 ...

  8. 2017软工实践K班总结

    回首一学期的软工实践,从暑假开始陆续布置作业,经历个人.结对与团队等大小作业.也经历了不少同学被吓跑.第一周就退选的情况,能坚持下来的都是胜利者,至少你们有一颗愿意挑战的心.首先感谢助教谢涛付出的巨大 ...

  9. 福大软工 · 第十一次作业 - Alpha 事后诸葛亮(团队)

    福大软工·第十一次作业-Alpha事后诸葛亮 组长博客链接 本次作业博客链接 项目Postmortem 模板 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描 ...

随机推荐

  1. cocos2D(六)----CCLayer

    一个游戏中能够有非常多个场景,每一个场景里面又可能包括有多个图层,这里的图层一般就是CCLayer对象.CCLayer本身差点儿没什么功能.对照CCNode,CCLayer可用于接收触摸和加速计输入. ...

  2. [Phonegap+Sencha Touch] 移动开发19 某些安卓手机上弹出消息框 点击后不消失的解决的方法

    Ext.Msg.alert等弹出框在某些安卓手机上,点击确定后不消失. 原因是: 消息框点击确定后有一段css3 transform动画,动画完毕后才会隐藏(display:none). 有些奇葩手机 ...

  3. Drupal 自己定义主题实体 Theming Custom Entities

    在自己定义主题中输出结果时,有三个部分或很多其它特殊的函数.如 hook_menu,Page Callback.MODULE_theme 钩子 1.hook_menu 为了使用自己定义的实体.像创建. ...

  4. webform 下使用autofac

    官网介绍: http://docs.autofac.org/en/latest/integration/webforms.html#quick-start HTTP 错误 500.22 - Inter ...

  5. 关于C语言变量声明在其他语句后的一些细节

    今天一个同学来找我,说他的代码老是编译不通过,我看了半天,好像都很符合逻辑,但一直显示一个变量未定义,我就纳闷了,代码类似如下: int main(){ login(); int id; scanf( ...

  6. Mac-O文件加载的全过程(一)

    在Mac的开发中, 有没有想过当我们点击可执行文件之后,Mac究竟做了什么事情才让我们的程序运行起来? 对于应用层开发人员或者普通的用户而言, 其实无需知道的这么详细:但是对于内核开发人员而言, 如果 ...

  7. mac 调整Launchpad行列数目

    Mac调整Launchpad  行数和列数 开打Terminal终端依次输入以下三句: <1> 改变行数:defaults write com.apple.dock springboard ...

  8. 洛谷P2915 [USACO08NOV]奶牛混合起来Mixed Up Cows 状压动归

    考场上空间开大了一倍就爆0了QAQ- Code: #include<cstdio> #include<algorithm> #include<cmath> usin ...

  9. Facebook 运维内幕曝光:一人管理2万台服务器

    Facebook 运维内幕曝光:一人管理2万台服务器 oschina 发布于: 2013年11月23日 (29评) 分享到  新浪微博腾讯微博 收藏+32 11月30日 珠海 源创会,送U盘,先到先得 ...

  10. vue项目初始化步骤

    项目初始化:() 1. 安装vue-cli :    npm install -g vue-cli 2.初始化项目:   vue init webpack  my-project 3.进入项目:  c ...