CS 487 Midterm Spring 2025
User Requirements - Correct Answer-* Describes what activities that users must be
able to perform
* Also called "user needs"
System Requirements - Correct Answer-Technical specifications used to develop the
system and meet the user requirements.
User Stories - Correct Answer-Plain-language description of a user's need for the
software under development, usually phrased as "(who) wants to (do what) so that they
can (do what)".
Agile Development - Correct Answer-A software development methodology that delivers
functionality in rapid iterations, measured in weeks, requiring frequent communication,
development, testing, and delivery. Usually carried out by small teams. Highly
responsive to changing requirements. Best used for small to medium-sized projects.
Plan-driven development - Correct Answer-A method of software development where all
activities are planned in advance. Progress is measured against the plan.
Waterfall Model - Correct Answer-The most popular model. In this cycle, each phase
must be completely finished before the next begins
Eight codes of ethics. (Not sure how important this one will be to know so don't stress
over it. ¯\_(ツ)_/¯) - Correct Answer-1. PUBLIC - Software engineers shall act
consistently with the public interest.
2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the
best interests of their client and employer consistent with the public interest.
3. PRODUCT - Software engineers shall ensure that their products and related
modifications meet the highest professional standards possible.
4. JUDGMENT - Software engineers shall maintain integrity and independence in their
professional judgment.
5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and
promote an ethical approach to the management of software development and
maintenance.
6. PROFESSION - Software engineers shall advance the integrity and reputation of the
profession consistent with the public interest.
7. COLLEAGUES - Software engineers shall be fair to and supportive of their
colleagues.
8. SELF - Software engineers shall participate in lifelong learning regarding the practice
of their profession and shall promote an ethical approach to the practice of the
profession.
https://ethics.acm.org/code-of-ethics/software-engineering-code/
CS487