软件工程总结(2)

Jun 07, 2016 pm 03:27 PM
のために 保証します 開発する 要約する 知識のポイント 品質 ソフトウェア工学 ステージ

知识点:(概要) 为了保障开发质量,为各阶段都准备了相应的好办法。可以说:你想得到的软件工程好方面,《软件工程》都想到了;你想不到的,《软件工程》更是想了不少。 (1)通过对软件工程的学习,了解了软件工程各个阶段的里程碑,以及在各个阶段完成中

知识点:(概要)

为了保障开发质量,为各阶段都准备了相应的好办法。可以说:你想得到的软件工程好方面,《软件工程》都想到了;你想不到的,《软件工程》更是想了不少。

(1)通过对软件工程的学习,了解了软件工程各个阶段的里程碑,以及在各个阶段完成中采用相应的处理方法,使得各阶段的任务在完成过程中既有条有理,又方便通用。

(2)比如软件工程分六大阶段(计划、分析、设计、编写、测试、维护)

(3)在各阶段完成过程中都需要的文档的记录,并成为各阶段的进度的标志和里程碑。

在软件的计划阶段,采用“开发模型”(6种),可以针对企业的不同情况,选择适当的开发方法,解决客户的问题,满足需求。

①瀑布模型:

优点:严格按照软件生存周期进行,每一阶段完成之后,必须进行评审通过后,才能进入下一阶段。发现过程中出现问题,需要返回到相应阶段进行修正、弥补,然后再重复操作,直到通过。

缺点:该模型缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题,这些问题可能导致最终开发出的软件并不是用户真正需要的软件,并且这一点往往在开发过程完成后才有所察觉。面对这种情况,无疑需要进行返工或不得不在维护中纠正需求的偏差,为此必须付出高额的代价,为软件开发带来损失。并且,随着软件开发项目规模的日益庞大,该模型的不足所引发的问题显得更加严重。

②快速原型模型

优点:通过快速开发一个原型来反映用户的需求,这样方便和客户交流,以明确客户的需求,保证软件的质量。

缺点:费用较高,因为初步开发的模型往往与最后的版本相差很大,有的基本不能用,需要全部重新开发。快速原型模型的作用仅仅用于反映客户的需求。这样,有的客户很难接受,缺乏耐心。投资很大,不好承受。

③增量模型

优点:采用先主干后分支,先基本后完善的开发方法。最开始开发出企业的主流业务,解决主要问题。随着开发的进行,在各阶段不断对软件进行完善,通过这样不断完善的开发过程,最终用户得到一个完整功能的软件。这对很多急需使用的企业来说,是不错的选择。

缺点:由于将软件分成了很多的构件,往往需要花费大部分时间在这些构件的集成上。现存的产品必须容易扩充,后开发的构件必须是简单和直观并容易集成。因此,对于增量模型,产品的体系结构的设计必须是开放的。

④螺旋模型

优点:螺旋模型将瀑布模型和原型模型结合起来,不仅体现了两个模型的优点,而且还增加了两个模型都忽略了的风险分析,弥补了两者的不足。

局限:螺旋模型的使用需要具有相当丰富的风险评估经验和专门知识,而且费用昂贵,所以只适合大型软件的开发。

⑤喷泉模型

优点:开发过程各阶段重叠性好,能尽早地发现问题并作出修改,避免问题的积累在后期造成重大损失。尤其很多问题,越早发现越早解决越好,避免返工。整个过程的要求很高,软件可维护性较好。

缺点:很多工作被重复做,过程比较复杂,无形中增大了很多在最后来看无用的工作量,但在过程中是不可能知道的。

⑥形式化方法模型:包括变换模型和净室软件过程模型。

变换模型:在软件需求分析确定以后,便用形式化的规格说明语言将其描述为“形式化软件规格说明”,然后对其进行一系列自动或半自动的变换,最终得到软件系统的目标程序。

净室软件过程模型:力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作,以生成极高质量的软件。它是一种严格的软件工程方法,强调数学验证的正确性和软
件认证的可靠性的软件工程模型,其目标和结果是降低出错率,这是使用形式化方法难于或不可能达到的。

(4)很多图的使用,能非常清晰地反映内容、简化工作。

在需求分析阶段,“数据流程图”的使用能够清楚反映企业的功能需求和企业的工作流程,方便后面阶段的进行。

在软件设计阶段,“系统结构图”能方便设计人员对各模块的合理计划和分配。

在软件的编写阶段,更是做了严格的、具有全局观的提出编写的规范,不仅保证功能的实现,而且还要求做到通用性、可移植性。保证数量的同时保证了质量。

在软件的测试阶段,在该阶段是极其重要的,因为在程序员编写过程中,很多的问题是考虑得不到位的,甚至可以说很多问题是无法预料的,它必须要在特定的环境中才会发生,而一旦发生便又是致命性的卡壳。所以在各功能模块的编写过程中需要测试,组合后更是要进行大型测试。以保障为客户提供更加安全、稳定的软件。

在对整个软件工程进行管理时使用“甘特图”,工作量及人力资源的安排,能合理地规划各工程的分配,非常有效地保证了工程的进度。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

おすすめのAI支援プログラミングツール4選 おすすめのAI支援プログラミングツール4選 Apr 22, 2024 pm 05:34 PM

この AI 支援プログラミング ツールは、急速な AI 開発のこの段階において、多数の有用な AI 支援プログラミング ツールを発掘しました。 AI 支援プログラミング ツールは、開発効率を向上させ、コードの品質を向上させ、バグ率を減らすことができます。これらは、現代のソフトウェア開発プロセスにおける重要なアシスタントです。今日は Dayao が 4 つの AI 支援プログラミング ツールを紹介します (すべて C# 言語をサポートしています)。皆さんのお役に立てれば幸いです。 https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot は、より少ない労力でより迅速にコードを作成できるようにする AI コーディング アシスタントであり、問​​題解決とコラボレーションにより集中できるようになります。ギット

どのAIプログラマーが一番優れているでしょうか? Devin、Tongyi Lingma、SWE エージェントの可能性を探る どのAIプログラマーが一番優れているでしょうか? Devin、Tongyi Lingma、SWE エージェントの可能性を探る Apr 07, 2024 am 09:10 AM

世界初の AI プログラマー Devin の誕生から 1 か月も経たない 2022 年 3 月 3 日、プリンストン大学の NLP チームはオープンソース AI プログラマー SWE-agent を開発しました。 GPT-4 モデルを利用して、GitHub リポジトリの問題を自動的に解決します。 SWE ベンチ テスト セットにおける SWE エージェントのパフォーマンスは Devin と同様で、平均 93 秒かかり、問題の 12.29% を解決しました。専用端末と対話することで、SWE エージェントはファイルの内容を開いて検索したり、自動構文チェックを使用したり、特定の行を編集したり、テストを作成して実行したりできます。 (注: 上記の内容は元の内容を若干調整したものですが、原文の重要な情報は保持されており、指定された文字数制限を超えていません。) SWE-A

Go 言語を使用してモバイル アプリケーションを開発する方法を学ぶ Go 言語を使用してモバイル アプリケーションを開発する方法を学ぶ Mar 28, 2024 pm 10:00 PM

Go 言語開発モバイル アプリケーション チュートリアル モバイル アプリケーション市場が活況を続ける中、ますます多くの開発者が Go 言語を使用してモバイル アプリケーションを開発する方法を検討し始めています。シンプルで効率的なプログラミング言語として、Go 言語はモバイル アプリケーション開発でも大きな可能性を示しています。この記事では、Go 言語を使用してモバイル アプリケーションを開発する方法を詳しく紹介し、読者がすぐに始めて独自のモバイル アプリケーションの開発を開始できるように、具体的なコード例を添付します。 1. 準備 始める前に、開発環境とツールを準備する必要があります。頭

最も人気のある 5 つの Go 言語ライブラリの概要: 開発に不可欠なツール 最も人気のある 5 つの Go 言語ライブラリの概要: 開発に不可欠なツール Feb 22, 2024 pm 02:33 PM

最も人気のある 5 つの Go 言語ライブラリの概要: 特定のコード例が必要な、開発に不可欠なツール Go 言語は、その誕生以来、広く注目され、応用されてきました。新しい効率的で簡潔なプログラミング言語としての Go の急速な開発は、豊富なオープンソース ライブラリのサポートと切り離すことができません。この記事では、Go 言語ライブラリの中で最も人気のある 5 つを紹介します. これらのライブラリは Go 開発において重要な役割を果たし、開発者に強力な機能と便利な開発エクスペリエンスを提供します。同時に、これらのライブラリの用途と機能をよりよく理解するために、具体的なコード例を示して説明します。

Linux システムでの system() 関数の使用法の概要 Linux システムでの system() 関数の使用法の概要 Feb 23, 2024 pm 06:45 PM

Linux での system() 関数の概要 Linux システムでは、system() 関数は非常に一般的に使用される関数であり、コマンド ライン コマンドの実行に使用できます。この記事では、system() 関数を詳細に紹介し、いくつかの具体的なコード例を示します。 1. system() 関数の基本的な使用法 system() 関数の宣言は次のとおりです: intsystem(constchar*command); コマンド パラメーターは文字です。

VSCode について: このツールは何に使用されますか? VSCode について: このツールは何に使用されますか? Mar 25, 2024 pm 03:06 PM

「VSCode について: このツールは何に使用されますか?」 》初心者でも経験豊富な開発者でも、プログラマーとしてはコード編集ツールを使わずにはいられません。数ある編集ツールの中でも、Visual Studio Code (略して VSCode) は、オープンソースで軽量かつ強力なコード エディターとして開発者の間で非常に人気があります。では、VSCode は正確に何に使用されるのでしょうか?この記事では、VSCode の機能と使用法を詳しく説明し、読者に役立つ具体的なコード例を提供します。

PHP は Web 開発におけるフロントエンドですか、それともバックエンドですか? PHP は Web 開発におけるフロントエンドですか、それともバックエンドですか? Mar 24, 2024 pm 02:18 PM

PHP は Web 開発のバックエンドに属します。 PHP はサーバー側のスクリプト言語であり、主にサーバー側のロジックを処理し、動的な Web コンテンツを生成するために使用されます。フロントエンド テクノロジーと比較して、PHP はデータベースとの対話、ユーザー リクエストの処理、ページ コンテンツの生成などのバックエンド操作に多く使用されます。次に、特定のコード例を使用して、バックエンド開発における PHP のアプリケーションを説明します。まず、データベースに接続してデータをクエリするための簡単な PHP コード例を見てみましょう。

Go 言語のフロントエンド テクノロジーの探求: フロントエンド開発の新しいビジョン Go 言語のフロントエンド テクノロジーの探求: フロントエンド開発の新しいビジョン Mar 28, 2024 pm 01:06 PM

Go 言語は、高速で効率的なプログラミング言語として、バックエンド開発の分野で広く普及しています。ただし、Go 言語をフロントエンド開発と結びつける人はほとんどいません。実際、フロントエンド開発に Go 言語を使用すると、効率が向上するだけでなく、開発者に新たな視野をもたらすことができます。この記事では、フロントエンド開発に Go 言語を使用する可能性を探り、読者がこの分野をよりよく理解できるように具体的なコード例を示します。従来のフロントエンド開発では、ユーザー インターフェイスの構築に JavaScript、HTML、CSS がよく使用されます。

See all articles