要件定義に関しては、①要求分析をした後、②要件定義に入ります。
①要求分析
ユーザニーズの調査をするなどして、要求を分析します。

②要件定義
システム化する要件を定義します。
このとき、機能要件だけではなく、非機能要件も確認し、可能な限り定義しておくといいでしょう。
非機能要件に関しては、以下です。
http://sm.seeeko.com/archives/65793207.html

業務分析や要件定義に用いられる手法
試験センターが発表する応用情報技術者シラバスの中に、「業務分析や要件定義に用いられる手法」という項があり、うまく整理されているので引用する。
1)ヒアリング
ソフトウェアに何が要求されているかを明らかにし,理解するためには,利用者からのヒアリングが有効であること,ヒアリング実施の手順,考え方を理解する。

2)ユースケース
ユースケースは,一つの目標を達成するための利用者とシステムのやり取りを定義するために用いること,その特徴,目的,ユースケースを描く方法を理解する。

3)プロトタイプ
ソフトウェア要求分析において,外部仕様の有効性,仕様の漏れ,実現可能性などの評価を行い,手戻りを防ぐためにプロトタイプを作成することがあること,プロトタイピングの特徴を理解する。

4)DFD
業務プロセスをデータの流れに着目して表現する場合に,DFD を使用することを理解する。

5)E-R 図
業務で扱う情報を抽象化し,実体(エンティティ)と実体間の関連(リレーションシップ)を表現する場合に,E-R 図を使用することを理解する。

6)UML
オブジェクト指向設計の標準化された表記法としてUML があること,UML で用いる図式の種類,特徴,UML を用いてシステムの仕組みを表現する方法を理解する。