title | tags |
---|---|
Hill ⛰️ System Requirements (Functions and Features) |
Documents |
The 2-tier desktop application is an offline software which is made specifically for our staffs. The purpose of this application is:
- Provide help for customers who want to use our service without the internet or via telephone call. This will help users who do not have access to internet and are not familiar enough with using internet to still be able trade their used electronics.
- Help our staffs to deal with users who have some problems with using our service
Meanwhile, the 3-tier web application is an online software that users can access through the internet. The purpose of this application is:
- Providing online platform which is free to use and can be accessed easily that allows users to trade their used electronics
- By connecting through the internet, users can have wider market (all over the world) to trade their used electronics so that sellers can sell their items faster or buyers could find many available options for their desired items.
- Giving opportunities for users to interact each other through discussion and sharing news about technology products by using our Forum Feature. Users can also can share their experience of using our website in this Forum Feature.
Nevertheless, both 2-tier and 3-tier application are made for providing an excellent platform and service for users so they can trade used electronic products. By making both program, we also hope to achieve our vision “Extending Life Cycle of Electronics”.
Being Admins, they have permission to change all items(delete legal items), USER(besides Privacy information), NEWS, and add or delete another staff to be Admin or regular staff.
Our staffs is just like Admins, besides they cannot change other staff's information, having the same permission as Admins will let them being right arm of Admins.
Feeling free to use our website, add item to earn money, or just explore items as usual. By creating your Own account is the most beneficial to get convenience to using our website.
Roles Permission | Administrator | Staff | USER |
---|---|---|---|
Add/change/delete Staff | ✔ | ✘ | ✘ |
Add/change/delete USER | ✔ | ✔ | ✘ |
Add/change/delete Items | ✔ | ✔ | ✔ |
Add/change/delete NEWS | ✔ | ✔ | ✔ |
After estimating how much effort and time needed for our project, we will now identify the life cycle that are fit to be used for our project.
Based on the table above, there are 2 possible life cycle models that fit to be used in this project: Evolutionary Delivery or Design to Schedule(???)
Figure below shows the life cycle of our project if we use this model:
We think that this models is suitable for our project because of several reasons:
- Since the time for this project is limited, delivering the core functions of our project is the most important thing to do first. Based on that reasoning, we choose this model since it emphasis on delivering the core functions first. After that, we can deliver other version which include new features or feedback from users until the time is running out. Since we already separating our system's core functions from all functions list (as mentioned above), we think that this model is suitable for our project.
- Another advantage for this model is it allows a degree of midcourse change. After deliver a version, if we think that the software still need to be improved, we could deliver newer version of the software. We think that this advantage will really beneficial for our projects. That is because we did not have much time in making the software concept / proposal. We predict that the functions list above may be incompleted or wrong so they need to be improved later on in the middle of this project
This is another model that we think is suitable for our project. Figure below shows the life cycle of our project if we use this model:
The reason we choose this model is similar with the previous model. This model prioritizes finishing the highest priority features first. If we still have time, we can start finishing the less important features of our software.
In conclusion, we mainly use Design to Schedule life cycle model for our project. The main reason is because Design to Schedule model is an excellent model to be used when time is main constrain of the project. But, since our requirements is slightly unclear, we decided to combine that model with Evolutionary Delivery since it is excellent for software which requirement is not really clear (because this model accomodates changes in the middle of work).