软件工程:(二)可行性研究

一.定义

     可行性研究(Feasibility Study),是指在调查的基础上,通过经济、技术、法律、时间和操作,对各种投资项目的技术可行性与经济合理性进行的综合评价。在系统开发前对项目进行可行性的论证是十分必要的。

                                       

二.可行性研究任务

    可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解,研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。

三.可行性研究的步骤    

     下面这幅图就是可行性研究的具体步骤, 其中,第三步对于开发人员来说尤为重要。

                    

四.成本估计

     软件价格估计:

     1.参数化算法:C=f(Vi),C为软件价格,Vi所选取的影响软件价格的独立参数;

     2.代码行(LOC)价格估算技术;

     3.任务分解方法,其思想是:首先把软件开发工程分解为若干个相对独立的任务,再分别估计每个开发任务的成本,最后累加得出总成本;

     4.自动估计成本方法。

五.成本/效益分析

    成本/效益分析的目的是要从经济角度分析开发一个特定的新系统是否划算,从而帮助使用部门负责人正确做出是否投资于这项开发工程的决定。

    主要的成本估计方法可以归并为:

    1.自顶向下估计,即先估计系统再估计子系统;

    2.自底向上估计,即先估计系统中的每个模块再合成整体成本;

    3.算法模型估计。

   下面列举几种度量效益的方法:

    1.货币的时间价值;

    2.投资回收期;

    3.纯收入。

六.课题小结

     通过学习可行性研究这个课题,可以更好地学习到软件工程过程中,软件的制作过程,本课题提供了可行性的前提,为后面的课题奠定基础,依照可行性研究写出可行性报告,为软件的开发提供可行性。

时间: 2024-11-02 06:26:55

软件工程:(二)可行性研究的相关文章

为大二软件工程专业大学生解答的几个问题

[前言] 好久没有收到有深度的学生来信了.这与自己近一年来,忙于建设在线教学资源的缘故,没有时间动笔针对大学生学习中的问题,专门写指导性文章有关.没有了"引子",IT学子指导专栏有些冷清. 收到了某大学小谭同学的来信"致神交已久的贺利坚老师",照例回复,并发布博文. [来信] (一)自我介绍 首先还是应该自我介绍一下,我是XX大学软件工程(服务外包)专业的学生,目前是大二.我们这个专业与普通的软件工程有所不同,当初在面向山东省招生时是一个二本专业,我当初高考发挥失利

答大二软件工程专业学生——重点学什么

[留言] 贺老师你好,我是软件工程专业的大二学生,我们学校这个学期的专业学习不是很多,已经学完了.参考学校的培养计划,下个学期开始,差不多都是专业课的学习.数据库原理,算法设计,计算机组成原理,操作系统,计算机网络等,还有类似于软件过程管理,软件测试技术的学习,学时都超过48小时,外加实验课和课程设计,编译原理好像没有开课,现在感觉脑子里有点乱,不知道重点应该放在哪里?还请贺老师指点迷津. [回复] 学习编译原理的目标,主要在于了解计算机系统内部的工作原理.对于软件工程专业,更加注重工程方法的培

软件工程专业大二下学期了,路该怎么走?

[来信] 大二下半学期了,大多说编程语言的课也基本结束了,现在也就剩下sql. 我现在面临的问题就是盲目编程,不知道该向那走下去. 说实话,我想主攻java.现在jsp也学了一部分,现在正在看着hibernate struts2 easyUi ,暑假也看看了android游戏编程,也搞出了一款不好玩的"游戏".我感觉现在自己这么学很盲目,学了忘,忘了学,学了很多东西也感觉没大有用,扔那就忘了. 技术接触的太多,但不精,没有主攻,精力都零散化了,这种分兵守城之策,实乃兵家大忌.能帮忙指导

为大二软件工程专业大学生解答问题(二)

点击看第一次- (一)开学第二周 感谢上次贺老师的来信.我也在开学前几周做出了适当的调整,并在第二周的开始就对自己的计划进行了修整.其中的不合理之处在于偏重于理论学习,缺少学习中的实践.由于第二周我得了一场感冒,除了上课大多时间都呆在宿舍里调养.于是就安排了更多的时间敲代码.为了学习网页设计,我在图书馆里借了一本Web开发.以及一本<java 编程基础>.由于我们宿舍里现在还没连上网,我的学习资源也很有限.但我仍然很抓紧我的一分一秒,于是编程基础也小有提高.但是在时间利用率和分配上仍然需要不断

软件工程:(一)软件生存周期与开发模型

一.软件生存周期     定义:一款软件从定义到开发.使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期成为生存周期.软件生存周期就是从提出软件产品开始,直到该软件产品淘汰的全过程.传统的软件生存周期一般可分为一下阶段:     1.制定计划:确定要开发软件系统的总目标:给出功能.性能.可靠性以及接口等方面的要求:完成该软件任务的可行性研究:     2.需求分析和定义:对待开发软件提出的需求进行分析给出详细的定义:编写软件需求说明书:     3.设计:概要设计,

软件工程中的图情结

      我们通常都是对图形化的东西情有独钟,我们小时候的启蒙教育基本上也都是从图形化开始的,我们曾经看过的连环画.漫画.看图识字等等.因为图形能将一个抽象的东西具体化.形象化,图形化的表述能将一个用文字语言无法表达清楚或很难表达的观点.事物.科学概念等清晰的呈现出来.这就是为什么我们相比晦涩难懂文字更喜欢形象生动的图形的原因.        软件工程导论作为软件工程中非常重要的一门课程,通常因为其偏文科性.理论性.概念性而得不到人们的重视,但幸运的是在软件工程导论中有我们非常易于接受.理解的

【软件工程】1.软件工程概述

软件工程概述 一.软件的发展历史 程序设计阶段 软件设计阶段 软件工程阶段 (1)程序设计阶段 在1946年-1955年.对硬件进行开发,规模很小 主要用于科学计算.   程序设计追求节省空间和编程技巧. (2)软件设计阶段 在1956年-1970年 硬件增长速度快,性价比越来越高.从科技转化到了商用. 软件开发技术没有重大突破,软件产品的质量不高,生产效率低下,导致了"软件危机". (3)软件工程阶段1970年~至今 大量的软件需求被提出,没有相应解决方案. 改变软件开发的技术手段和

软件开发-关于软件工程与软件的开发问题

问题描述 关于软件工程与软件的开发问题 尽管已经学习了软件工程的理论知识,但对于软件工程这个名词的理解还是不透彻,软件工程究竟是什么?为什么要用工程的方法来管理软件的开发过程呢? 求指点. 解决方案 我也不会啊我也不会啊 解决方案二: 身为程序员或者学生的话确实很难理解软件工程,但是当你作为领导之后,你就会发现软件工程的作用,作为一个项目经理,在项目开始之前,必须对项目做一个系统的规划,这就是软件工程的知识.

软件工程之系统建模篇:设计接口类模型

本文介绍接口类模型的设计过程.接口类模型描述系统活动者与系统交互的界 面,接口类位于系统结构的表示服务层,接口类模型用类图和包图描述.首先简 要介绍接口类模型的设计方法,然后设计子系统的类图,最后设计系统及子系统 的包图. 1.设计方法 设计接口类模型,首先要识别出接口类,再识别出接口类之间的关系.接口类 是应用程序的"可视区",也是系统与外界的隔离层.接口类可以用 用例去识别,用例驱动接口类设计.用户接口直接与用例相连,用户是通过用户 接口发起和终止用例的.由于用户接口直接面向用户,