ソフトウェア工学
設計段階でテキストと図を使ったモデルを構築する。モデル変換やコード生成のツールを使って、モデルからコードの断片を抽出し、その後の開発に役立てる。
ソフトウェアは生まれ、仕事をして、死ぬ。すなわち構想から廃止までの漸進的な発展、ライフサイクル(英語: life cycle)を持つ。ライフサイクルをプロセスとして認識したときによく見られるライフサイクルの型をライフサイクルモデル(英語: life cycle model)という。ライフサイクルを構成するプロセスはライフサイクルプロセス(英語: life cycle process)と呼ばれる。
例えばライフサイクルプロセスはしばしば「開発・運用・保守」に分けられ、そのうち開発プロセスはよく研究がなされている。開発プロセスモデルの例には、要求分析からテストまで順次1つずつおこなうウォーターフォール・モデル、開発期間を短く分け短期間に各開発工程を行いそれを繰り返すスパイラル・モデルが挙げられる。
ソフトウェアライフサイクルを定義する規格にはISO 12207がある。