Software architecture case studies lesson -Memi Lavi
Dunderly operaions
- Sells paper supplies (printed paper, envelopes)
- Needs a new HR System
- Managing employees (salaries, vacations, payments)
the first step in architecting a software is to understand the requirements
There 2 types of requirements -
- Functional requirements: These are what the system should do
- Non functional requirments: These are what the system should deal with.
Mostly the functional requirements are specified by the users
- Web based
- Perform CRUD operations on employees
-
- Allow manager to ask for employees salary change
-
- Allow HR manager to approve or reject request
-
- Manage vacation days
- Use external system for payment
The first thing to understand about the functional requirement is what we already know about the non functional requirements
What we already know Classic information sysstem. It's just simple and nothing complicated involving too much moving data Not a lot of users NOt a lot of data Interface to external system. (We have to be careful of interfacing with legacy systems; they can be too problematic) Next as what we need to know from the custom
- How many concurrent users. (this helps us to know the load requirement of the system)
- How many employees. (large number means large data volumes)
- What do we know about the external payment system. (What data, how to parse data, how to communicate with the external system)