update for Haodan
This commit is contained in:
parent
96bacb33bd
commit
963078daa8
|
@ -38,7 +38,7 @@
|
|||
\setlength{\hangindent}{2.6em}
|
||||
• 软件工程关注大型程序的构造,协作是大型程序设计的主要机制,中心主题是控制复杂度,管理软件的进化~\cite{van2008software}。
|
||||
|
||||
从问题求解的角度,Dines Bj$\phi$rner对软件工程有独特的理解。他认为~\cite{Dines2010software},理解软件工程,需要同时回答“how”(如何进行)和“what”(要做什么)。软件工程应该是艺术、规范、工艺、科学、逻辑、和实践的结合,首先需要基于科学的洞察去综合(即构建和构造)软件,其次需要分析(即学习和研究)现有软件技术,以探清和发现可能的科学内容。他特别强调的几个与众不同的关注点包括:第一,软件工程是一门学科,它把数学知识加以判断和优化,成为数学理论的应用方式,目的是(1)理解问题领域;(2)解决现实问题;并(3)为这些通过计算来解决的问题开发计算系统,建立软件解决方案;第二,软件工程应包含三个分支:(1)领域工程\index{领域工程}(理解问题领域);(2)需求工程\index{需求工程}(理解问题及其解决方案的框架);(3)软件设计\index{软件设计}(实现想要的解决方案)。
|
||||
从问题求解的角度,Dines Bj$\phi$rner对软件工程有独特的理解。他认为~\cite{Dines2010software},理解软件工程,需要同时回答“how”(如何进行)和“what”(要做什么)。软件工程应该是艺术、规范、工艺、科学、逻辑、和实践的结合,首先需要基于科学的洞察去综合(即构建和构造)软件,其次需要分析(即学习和研究)现有软件技术,以探清和发现可能的科学内容。他特别强调的几个与众不同的关注点包括:第一,软件工程的目的是(1)理解问题领域;(2)解决现实问题;并(3)为这些通过计算来解决的问题开发计算系统,建立软件解决方案;第二,软件工程应包含三个分支:(1)领域工程\index{领域工程}(理解问题领域);(2)需求工程\index{需求工程}(理解问题及其解决方案的框架);(3)软件设计\index{软件设计}(实现想要的解决方案)。
|
||||
|
||||
综上所述,软件工程要解决的问题是\textbf{如何高效高质地开发出符合要求的产品}。其中包含三个方面的含义。第一,软件工程的产出是一类产品,其产品形态是\textbf{软件},这决定了软件工程学科的研究对象。第二,软件工程需要高效高质地开发出这类产品,工程化是使产品开发得以高效高质的手段,一般依赖于管理有序的\textbf{生产过程},其中要依据合适的\textbf{方法},以及可操作的\textbf{质量保障手段}。这构成了窄义软件工程学科的研究范畴。第三,软件产品要用于解决现实世界的\textbf{领域相关问题},它的使用要能为相关领域带来\textbf{价值},进一步地,对领域价值的评判超出狭义软件工程的范畴,其范畴扩展到了应用领域中,因此,\textbf{领域工程}进入广义软件工程学科范畴,同时,\textbf{需求工程}成为领域工程和狭义软件工程之间的桥梁。
|
||||
|
||||
|
@ -224,7 +224,7 @@
|
|||
\scriptsize
|
||||
\caption{代表性需求工程方法}
|
||||
\label{table:chapter4-1}
|
||||
\begin{tabular}{|p{0.07\textwidth}<{\left}|p{0.2\textwidth}<{\left}|p{0.3\textwidth}<{\centering}|p{0.3\textwidth}<{\centering}|}%
|
||||
\begin{tabular}{|p{0.07\textwidth}<{\flushleft}|p{0.2\textwidth}<{\flushleft}|p{0.3\textwidth}<{\centering}|p{0.3\textwidth}<{\centering}|}%
|
||||
\hline
|
||||
方法& 问题视角& 需求建模原则& 软件需求获取手段\\
|
||||
\hline
|
||||
|
|
Loading…
Reference in New Issue