software development life cycle (SDLC)
The series of phases a software project goes through, from defining the problem to maintaining the finished program.
phase
One stage of the life cycle: problem definition, analysis, design, writing code, testing, implementation or maintenance.
milestone
A checkpoint with a date, marking that something important is finished, such as "specification approved by Oct 30".
product (deliverable)
Something a phase produces and hands on: a specification, a flow chart, the program, documentation, bug reports.
client
The person or group the software is being made for.
requirement
Something the software must do (functional) or a quality or limit it must meet (non-functional), such as "runs on school laptops".
specification
A written description of exactly what the program must do, agreed with the client before design starts.
questionnaire / survey
A set of written questions given to many people to gather their needs or opinions.