需求分析、概要设计

最近和一个朋友聊天, 发现还是需要一些理论功底,没事到网上找点资料看看吧

 

按照传统软件工程的软件过程,区别如下:

1.需求分析--产生 软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作(概要设计)

2.概要设计--产生 软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。

3.详细设计--产生 软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后在集成,是具体的实现细节。理论上要求可以照此编码。

 

 

原文链接:http://topic.csdn.net/t/20050906/11/4252256.html
<一> 需求分析(requirement analysis)  
需求分析是当前软件工程中的关键问题。需求分析阶段的任务是:在可行性分析的基础上,进一步了解、确定用户需求,准确地回答“系统必须做什么”的问题。获得需求规格说明书。还涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。   
需求分析的基本任务包括:   
  • 抽取需: 分析现行系统存在需要解决的问题。获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等。  
  • 模拟和分析需求:需求分析和模拟又包含三个层次的工作。首先是需求建模。需求模型的表现形式有自然语言、半形式化(如图、表、结构化英语等)和形式化表示等三种。需求概念模型的要求包括实现的独立性;不模拟数据的表示和内部组织等;需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。
  • 传递需求:传递需求的主要任务是书写软件需求规格说明。   
  • 认可需求:就是对需求规格说明达成一致,其主要任务是冲突求解,包括定义冲突和冲突求解两方面。常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些只能用人的因素去控制。
  • 进化需求:客户的需要总是不断(连续)地增长,但是一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件进化的首要问题。对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。当前的发展是软件家族法 ,即产品线方法。多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性,并进行关于变化的推理。   
<二> 概要设计   
概要设计是在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现。
概要设计基本任务:
  • 建立软件系统结构:划分模块、定义模块功能、模块间的调用关系、定义模块的接口、评价模块的质量
  • 数据结构和数据库的设计:数据结构设计、概念设计、逻辑设计、物理设计
  • 编写概要设计文档:概要设计说明书、用户手册、数据库设计说明书、修订测试计划
<三> 详细设计 
  • 详细设计说明书 
引言
    1.1 编写目的 
         编写这份详细设计说明书的目的(指出预期的读者)。
    1.2 背景   
         待开发软件系统的相关。   
    1.3 名称解释   
         列出本文档中用到的有必要解释的术语。此术语可能在其他文档中用到。
    1.4 参考资料
列出编写本报告时参考的文件(如经核准的计划任务书或合同、上级机关的批文等)、资料、技术标准,以及他们的作者、标题、编号、发布日期和出版单位。
2 程序系统结构
3 类设计
  3.1 命名空间(命名空间下可再加子命名空间,以此类推,相应序号加层)
       3.1.1 类名称
            3.1.1.1 类功能说明:
    3.1.1.2 父类
            3.1.1.3 成员变量  
            3.1.1.4 成员函数列表  
            3.1.1.5 成员函数设计  
                 3.1.1.5.1 函数名:  
                      3.1.1.5.1.1 功能描述  
                      3.1.1.5.1.2 输入 
                      3.1.1.5.1.3 返回值   
                      3.1.1.5.1.4 流程图  
                      3.1.1.5.1.5 算法说明  
                 3.1.1.5.2 函数名  
                      …   
         3.1.2 类名称 
               ….   
  3.2 命名空间  
     ….   

转载于:https://www.cnblogs.com/skyislimit/p/5629072.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 事b务 查询_MySQL进阶学习笔记二(包括连接查询、子查询、联合查询、事务、存储过程)...

1、高级查询(1)了解笛卡尔积&#xff1a;笛卡尔乘积是指在数学中&#xff0c;两个集合X和Y的笛卡尔积(Cartesian product)&#xff0c;又称直积&#xff0c;表示为X Y&#xff0c;第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员&#xff0c;笛卡尔积在SQL…

当前,我们的DJANGO项目的requirements.txt文件

晒一晒&#xff0c;看用得多不多。。&#xff1a;&#xff09; amqp1.4.7 anyjson0.3.3 billiard3.3.0.21 celery3.1.19 celery-with-redis3.0 cx-Oracle5.1.2 Django1.8.4 django-bootstrap36.2.2 django-celery3.1.17 django-grappelli2.7.3 django-tinymce2.2.0 djangorestf…

python字典的应用实验报告_Python字典应用的一个例子

#!/usr/bin/env python#定义一个空字典db {}def newuser():prompt --login desired: while True:name raw_input(prompt)#根据关键字name看字典中是否已存在此键值对if db.has_key(name):prompt --name taken, try another: continueelse:breakpwd raw_input(passwd: )#存…

Untiy3D Material 材质系统

材质系统在任何引擎里面都算一个大模块&#xff0c;我也遍了解遍写&#xff0c;写到哪里算哪里。 里面涉及到材质属性系统&#xff0c;底层Shader模块和纹理Texture模块。所以比较复杂&#xff0c;如果理解材质系统&#xff0c;那就能控制整个游戏画面渲染效果。 Material 材质…

python弹出另一个窗口_Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法

1.先使用Qt designer设计两个窗口&#xff0c;一个是主窗口&#xff0c;一个是子窗口其中主窗口是新建-Main Window,子窗口是Dialog窗体。两个窗口不能是同一类型,否则会崩溃。并保存为EyeTracking_main.ui和EyeTracking_process.ui(因为我在做眼动追踪&#xff0c;因此窗体命名…

python读取文件数据堆栈溢出的原因_堆栈溢出一般是什么原因?

堆栈是一个在计算机科学中经常使用的抽象数据类型。堆栈中的物体具有一个特性&#xff1a; 最后一个放入堆栈中的物体总是被最先拿出来&#xff0c; 这个特性通常称为后进先出(LIFO)队列。 堆栈中定义了一些操作。 两个最重要的是PUSH和POP。 PUSH操作在堆栈的顶部加入一 个元素…

.NET Core 开发之旅 (1. .NET Core R2安装教程及Hello示例)

前言 前几天.NET Core发布了.NET Core 1.0.1 R2 预览版&#xff0c;之前想着有时间尝试下.NET Core。由于各种原因&#xff0c;就没有初试。刚好&#xff0c;前几天看到.NET Core发布新版本了&#xff0c;决定要去一探究竟。于是乎&#xff0c;就立马去官网查找相关的信息&…

java引用传递_理解Java中的引用传递和值传递

关于Java传参时是引用传递还是值传递&#xff0c;是一个讨论比较多的话题&#xff0c;有说Java中只有值传递&#xff0c;也有些地方说引用传递和值传递都存在&#xff0c;本篇记录思考过程&#xff0c;不保证正确性&#xff0c;感兴趣的同学一起讨论。1.基本类型和引用类型在内…

程雷被机器人_太意外了:49岁知名主持人程雷,得遗传性病和女友终分手!

注本文部分文字与图片资源来自于网络&#xff0c;转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益&#xff0c;请立即通知我们&#xff0c;情况属实&#xff0c;我们会第一时间予以删除&#xff0c;并同时向您表示歉意遗传性肝病发女友不离不弃&#x…

java flatmap_Java 8 Steam API map和flatMap方法使用详解

java 8 stream api 中有两个方法map和flatMap非常实用&#xff0c;应用场景也非常广泛&#xff0c;能极大提升编程效率。下面我们详细介绍一下这两个方法的用法。map方法我们来看个示例&#xff1a;把一个整数列表转换成字符串列表&#xff0c;java 8之前常用的实现方法如下Lis…

java post 多文件报头_Spring MVC-------文件上传,单文件,多文件,文件下载

Spring MVC框架的文件上传是基于 commons-fileupload 组件的文件上传&#xff0c;只不过SpringMVC 框架在原有文件上传组件上做了进一步封装&#xff0c;简化了文件上传的代码实现&#xff0c;取消了不同上传组件上的编程差异。commons-fileupload组件由于 Spring MVC 框架的文…

java 按照概率生成随机数_JAVA 根据设置的概率生成随机数的方法

import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Random;public class RandomTest {// String 可以为任意类型 也可以自定义类型static Map keyChanceMap new HashMap();static {keyChanceMap.put("a…

java文本域 图片_java swing中给面板或者文本域设置背景图片的方法!

以JPanel为例public class MyTextArea extends JPanel{/*** param args*/private Image bgImg null;public MyTextArea(){setOpaque(false);bgImg Toolkit.getDefaultToolkit().createImage(BGTextArea.class.getResource( "login2.gif ")); //图片要…

win10 java无法运行_Win10中配置jdk之后javac无法运行

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数&#xff0c;如&#xff1a;临时文件夹位置和系统文件夹位置等。环境变量是在操作系统中一个具有特定名字的对象&#xff0c;它包含了一个或者多个应用程序所将使用到的信息。例如Windo…

cocos2d c 调用java_cocos2d-x之C++ 调用Java函数并接收返回值

参考&#xff1a;http://blog.csdn.net/xiaominghimi/article/details/7602984//java中string转C中string#if (CC_TARGET_PLATFORM CC_PLATFORM_ANDROID)//jstring to char*std::string jstringTostring(JNIEnv* env,jstring jstr){char* rtn NULL;jclass clsstring env->…

java的reentrantlock_JAVA中ReentrantLock详解(转)

转自https://www.cnblogs.com/java-learner/p/9651675.html前言&#xff1a;本文解决的问题RentrantLock与Synchronized区别ReentrantLock特征ReentrantLock类的方法介绍1.什么是ReentrantLock1.1ReentrantLock 与Synchronized区别在面试中询问ReentrantLock与Synchronized区别…

Servlet添加商品

Servlet实现添加商品 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&…

java运行win10_win10配置java运行环境

1.下载jdk根据自己的电脑下载对应的版本&#xff0c;需要先注册账号才可以下载百度网盘&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1gjpdQo8t8Va8uPiHDDvB3Q提取码&#xff1a;5a0c2.下载完成&#xff0c;点击安装&#xff0c;一般直接根据默认安装即可&#xff0c;…

[转]C#网络编程(同步传输字符串) - Part.2

本文转自&#xff1a;http://www.tracefact.net/CSharp-Programming/Network-Programming-Part2.aspx 服务端客户端通信 在与服务端的连接建立以后&#xff0c;我们就可以通过此连接来发送和接收数据。端口与端口之间以流&#xff08;Stream&#xff09;的形式传输数据&#xf…

tomcat 设置java_为tomcat配置java环境变量

我的tomcat 中java标签里是这么写的java virual Machine:C:\Program Files\Java\jre1.6.0\bin\client\jvm.dlljava classpath:C:\Program Files\Apache Software Foundation\Tomcat 5.5\bin\bootstrap.jarjava options:-Dcatalina.homeC:\Program Files\Apache Software Founda…