If you recall in Week 1, we briefly talked about the six main activities in software development.
Figure 3.1 Main activities in software development.
In COE691, we focused on the requirements elicitation — the definition of the system in terms understood by the customer.
<aside> <img src="/icons/map-pin_gray.svg" alt="/icons/map-pin_gray.svg" width="40px" /> Refer to Software Requirements in 2 Basic and Fundamentals of Requirements Engineering for more info regarding this topic.
</aside>
Architects need to understand the functional requirements and create a platform that supports these and simultaneously satisfies the non-functional requirements and constraints.
We can use a prototype to ensure all the requirements have been addressed, which we will implement in Lab 2. A prototype is just an incomplete version of how the real product will work and feel. It usually has the following steps:
We can model functional requirements using a use-case diagram.
<aside> <img src="/icons/map-pin_gray.svg" alt="/icons/map-pin_gray.svg" width="40px" /> We previously covered use-case diagram which is in COE528. Refer to Modeling With UML I.
</aside>
Figure 3.2 Use-case diagram for a library management system.