From 2ce9c90e0f4b6adb1b39f8ad4b0b683e0a0e4c6b Mon Sep 17 00:00:00 2001 From: maltiso Date: Tue, 4 Jul 2017 17:18:57 +0800 Subject: [PATCH 1/4] Added user stories --- doc/.DeveloperGuide.md.swp | Bin 0 -> 12288 bytes doc/.DeveloperGuide.md.un~ | Bin 0 -> 8640 bytes doc/DeveloperGuide.md | 2 + doc/DeveloperGuide.md~ | 92 +++++++++++++++++++++++++++++++++++++ 4 files changed, 94 insertions(+) create mode 100644 doc/.DeveloperGuide.md.swp create mode 100644 doc/.DeveloperGuide.md.un~ create mode 100644 doc/DeveloperGuide.md~ diff --git a/doc/.DeveloperGuide.md.swp b/doc/.DeveloperGuide.md.swp new file mode 100644 index 0000000000000000000000000000000000000000..0c10551903d05d160228bba075d8648c16302b36 GIT binary patch literal 12288 zcmeHN%X1?~8Se!)39pcX3*0_-d04_Dd2J{hleq9owxeYqCR%5A%e9nRGc8TWGu@N! z8Ox$vmHY?1&s2q~>1$s0dD|50e%de z0TQ?Zy!C0u{tWyHcm%uwXyBipV(f3g>%cMa0Jsm_2EGh@3HSo=dEgJ9WbF6AFM!v9 z=YVekTfj$wzkGtR6zBn$fFFIFv1fr_KE+rJJPAAjTn65LlCggP8c@J@fdk+LU?2Dj z@ct8w{So*%@I&ASz-z#(fCOUTK5!4%1ilG81-yM3vVq?LZvqd1uL19X(_aI>0)7Vk z6nG7I6&L~>=mH(U^Zy}Ana8B_7`J(FXUKi%z{nGxi+>Zu*f!mhD$*0XN;jn{PFLwrN&LLi5AM&_-r`c( z+z6gx*bUN7mI)QfQ|i(d?I+q=Zl;WVy+!?47fD1TexeO^@APqHXqvcf)0C^ol0Ff} zZxJlNXt9m?VoVmL4ZO&83bi9Dl!TGO=9VCbaJ5L0)rAS2Y}_zn>+|K{fe*1KD2X+6 zDKhtXZEbCha3RTRWn1jpeD*|}W6}yzr*xDqTKaJ1>iPFT+XitVT-**k-R#VJ@}e3B4#@DWnmpP&wR0gxgmXa{R!Bsv;FI zGzWVkqjh*`gG1$=^0L)+T(*L%;WTJX!We9i`Ie6bJvTJljBW51-Hio}gmNUq*$S!rdZ&o<>7x9~Wb#Vt(af99nHS{yIhDJe z9k=>@XMoRznH5{q^%_@#7+cu`lkgrDl`AZgD$$cwuTrzwpTZw$v+1~WMh+IV8~C_% zqs`_{m}|2z4dTpT6)~K^OEZfR)ILQg(u&4%uv|y5I3+uX1~`Wengcp>N|`b(kV?~; z^>C`!g_p5G?j{~4TW#|Bl;M;VM^2p~d_z|Sc=d_|w=$Vx13KTr@8sgkL zE#EmSd6p%TyHI|NkQf*L=qUTZx?_=B)tjIyZ9!Su8U$q{G2%s%L*G;?nab}YF=DQe z>(IrbI%p+GBw)x2A(4zvLDL@(@C1*7+%hOC&Mc-1wHH8eB27{^{i=#R4Cqx|B2 z^Smj=fg)586jj11BYpCrZ1m6>e5pdjC?TSYau6<1TZzdm63!OpxM3e{h$A8J=qiiv z0fjGK)^9t4aAfk*_#{TX>Cs4=v4Dws;$}dUHw;~a1=R-`~=5wc3R5E?~F zD@r21plvy!nt}Ip6IQGscjd82rsp%9h{1B+?v#0JsE_=|#wa}0Q?wf{J+1vR+Q4&E{y zlQrS@X1vP%INm9P(r5S3^z}59TuFqHe(aLR|i!It!wm^PNb>V&G1JJizA7ss@ zSQ(u*LQgqmNimiRr5L?>)(ri$%m~+xq?N8?@gY*E!PZ)Y4seVKDDXyPdbM;0ntmC< zh-Vd zbXtCESI3D~oTtfE>>j`m0Z)e#g}1PchU0(9VwhUm>~ip&xvt9(luH~ZEUn|bGvNlO zu^A=K3+VObrV!EV?mG6H%^ThC&?W{TD?#I!*?O?Zp3i~4$i2gh%mw|?`2o?N4-tzv zAfo7_Yxsj>5Cy@wIyW|!7IgmOIcZTu7z9eIU^G8b1>U38iE3Hu^@WDIC}S7|s7`@9 zcG=|>JATDHl@}LrzsTSO>$BXitFjT(5KoQ?KU$_61|y$$er(3nVTN&A(iRk%I|3j* Mt84S*@6EG+0ntQV?EnA( literal 0 HcmV?d00001 diff --git a/doc/.DeveloperGuide.md.un~ b/doc/.DeveloperGuide.md.un~ new file mode 100644 index 0000000000000000000000000000000000000000..d089334e759ddb07fb1acf6bf176aac06bb2854d GIT binary patch literal 8640 zcmeI1zi-qq6vsn<(iSM~1Og;W426>l1ylqRNU$(4wy3m)hMcdll-MQ7m9{X@l@2T{ zOdzp!KmsJh&Og9EftWimb%6Kv#i@bn6z+P^!LNF?&q*%6_xV1@j;BTZYD(TzU%jqp zZ#KtQoIx}%K;t4#VaCyhiZ@Uve8)R0fg9*HbeB#+QvhE_7g78Qvt zQT4@8i;l}oB%DPe%_i5iDxiXXa$`^kq}7E6rwT-&lSZoGwknX2P{lksR53WF2aqws zo&y7*gXG2l55P1;2h4<}QzZe5{tg(x3|QR(JTrK^46_2$QWXhf40WUjY?)lw3D`;r zV2m zvjWmqwG6Sx&4>*eV#Q+(fDT!m0z9PQ2HISTAqs6+8DMX1V7TBCxtWJ-0GPFm2?Z@l zW|tDNjHzg#WaiVVC12CbpE;c$8PAW5H;$ZTG>fhBnqQAH%GFp%5sNjtKJ;b4u@p*G z%$4MfM=571=Xx3&@)#HTK|ptvX66co9JXQt^;|TconlNRS}e;b=AEq=Br6nyWv^ah z>Zd7ym{#*N1t`5jr4j~+I8TrJ4je+#hLr*Lz8Sdwd~D9=KAN9RzTXS?sxij-s6Wt z366eS$gPXZ&_DSfM}Blwzp$qg^D@l8@$gaPZjOc^bkyh-<5inJwss&HZ0!KczuwxR zTlS7sDiyP306BD%8$+MaKi%dg1|}?>DoGyKYHK!E utjKhvO0cdsgVo>IkTa=erxp4Ga-ijQ;}DIG8_~MajMhN0eLA`RZSyA+%l#Mt literal 0 HcmV?d00001 diff --git a/doc/DeveloperGuide.md b/doc/DeveloperGuide.md index c82c3afb9..9affd2d17 100644 --- a/doc/DeveloperGuide.md +++ b/doc/DeveloperGuide.md @@ -45,7 +45,9 @@ Priority | As a ... | I want to ... | So that I can... `* * *` | user | add a new person | `* * *` | user | delete a person | remove entries that I no longer need `* * *` | user | find a person by name | locate details of persons without having to go through the entire list +`* * *` | user | edit the details of a person | correct any errors I made during input `* *` | user | hide [private contact details](#private-contact-detail) by default | minimize chance of someone else seeing them by accident +`* *` | user | use shortcuts of commands | use the appliation easily `*` | user with many persons in the address book | sort persons by name | locate a person easily diff --git a/doc/DeveloperGuide.md~ b/doc/DeveloperGuide.md~ new file mode 100644 index 000000000..c82c3afb9 --- /dev/null +++ b/doc/DeveloperGuide.md~ @@ -0,0 +1,92 @@ +# Developer Guide + +* [Setting Up](#setting-up) +* [Design](#design) +* [Testing](#testing) +* [Appendix A: User Stories](#appendix-a--user-stories) +* [Appendix B: Use Cases](#appendix-b--use-cases) +* [Appendix C: Non Functional Requirements](#appendix-c--non-functional-requirements) +* [Appendix D: Gloassary](#appendix-d--glossary) + +## Setting up + +#### Prerequisites + +1. **JDK 8** or later +2. **Eclipse** IDE +3. **e(fx)clipse** plugin for Eclipse (Do the steps 2 onwards given in + [this page](http://www.eclipse.org/efxclipse/install.html#for-the-ambitious)) + + +#### Importing the project into Eclipse + +0. Fork this repo, and clone the fork to your computer +1. Open Eclipse (Note: Ensure you have installed the **e(fx)clipse plugin** as given in the prerequisites above) +2. Click `File` > `Import` +3. Click `General` > `Existing Projects into Workspace` > `Next` +4. Click `Browse`, then locate the project's directory +5. Click `Finish` + +## Design + + +## Testing + +* In Eclipse, right-click on the `test/java` folder and choose `Run as` > `JUnit Test` + +## Appendix A : User Stories + +Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*` + + +Priority | As a ... | I want to ... | So that I can... +-------- | :-------- | :--------- | :----------- +`* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App +`* * *` | user | add a new person | +`* * *` | user | delete a person | remove entries that I no longer need +`* * *` | user | find a person by name | locate details of persons without having to go through the entire list +`* *` | user | hide [private contact details](#private-contact-detail) by default | minimize chance of someone else seeing them by accident +`*` | user with many persons in the address book | sort persons by name | locate a person easily + + +## Appendix B : Use Cases + +(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise) + +#### Use case: Delete person + +**MSS** + +1. User requests to list persons +2. AddressBook shows a list of persons +3. User requests to delete a specific person in the list +4. AddressBook deletes the person
+Use case ends. + +**Extensions** + +2a. The list is empty + +> Use case ends + +3a. The given index is invalid + +> 3a1. AddressBook shows an error message
+ Use case resumes at step 2 + +## Appendix C : Non Functional Requirements + +1. Should work on any [mainstream OS](#mainstream-os) as long as it has Java 8 or higher installed. +2. Should be able to hold up to 1000 persons. +3. Should come with automated unit tests and open source code. +4. Should favor DOS style commands over Unix-style commands. + +## Appendix D : Glossary + +##### Mainstream OS + +> Windows, Linux, Unix, OS-X + +##### Private contact detail + +> A contact detail that is not meant to be shared with others From 628d73753f7c6fe9ae74e5db700fdd87a08cd9ed Mon Sep 17 00:00:00 2001 From: maltiso Date: Tue, 4 Jul 2017 17:20:19 +0800 Subject: [PATCH 2/4] Deleted unnecessary files --- doc/.DeveloperGuide.md.un~ | Bin 8640 -> 0 bytes doc/DeveloperGuide.md~ | 92 ------------------------------------- 2 files changed, 92 deletions(-) delete mode 100644 doc/.DeveloperGuide.md.un~ delete mode 100644 doc/DeveloperGuide.md~ diff --git a/doc/.DeveloperGuide.md.un~ b/doc/.DeveloperGuide.md.un~ deleted file mode 100644 index d089334e759ddb07fb1acf6bf176aac06bb2854d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8640 zcmeI1zi-qq6vsn<(iSM~1Og;W426>l1ylqRNU$(4wy3m)hMcdll-MQ7m9{X@l@2T{ zOdzp!KmsJh&Og9EftWimb%6Kv#i@bn6z+P^!LNF?&q*%6_xV1@j;BTZYD(TzU%jqp zZ#KtQoIx}%K;t4#VaCyhiZ@Uve8)R0fg9*HbeB#+QvhE_7g78Qvt zQT4@8i;l}oB%DPe%_i5iDxiXXa$`^kq}7E6rwT-&lSZoGwknX2P{lksR53WF2aqws zo&y7*gXG2l55P1;2h4<}QzZe5{tg(x3|QR(JTrK^46_2$QWXhf40WUjY?)lw3D`;r zV2m zvjWmqwG6Sx&4>*eV#Q+(fDT!m0z9PQ2HISTAqs6+8DMX1V7TBCxtWJ-0GPFm2?Z@l zW|tDNjHzg#WaiVVC12CbpE;c$8PAW5H;$ZTG>fhBnqQAH%GFp%5sNjtKJ;b4u@p*G z%$4MfM=571=Xx3&@)#HTK|ptvX66co9JXQt^;|TconlNRS}e;b=AEq=Br6nyWv^ah z>Zd7ym{#*N1t`5jr4j~+I8TrJ4je+#hLr*Lz8Sdwd~D9=KAN9RzTXS?sxij-s6Wt z366eS$gPXZ&_DSfM}Blwzp$qg^D@l8@$gaPZjOc^bkyh-<5inJwss&HZ0!KczuwxR zTlS7sDiyP306BD%8$+MaKi%dg1|}?>DoGyKYHK!E utjKhvO0cdsgVo>IkTa=erxp4Ga-ijQ;}DIG8_~MajMhN0eLA`RZSyA+%l#Mt diff --git a/doc/DeveloperGuide.md~ b/doc/DeveloperGuide.md~ deleted file mode 100644 index c82c3afb9..000000000 --- a/doc/DeveloperGuide.md~ +++ /dev/null @@ -1,92 +0,0 @@ -# Developer Guide - -* [Setting Up](#setting-up) -* [Design](#design) -* [Testing](#testing) -* [Appendix A: User Stories](#appendix-a--user-stories) -* [Appendix B: Use Cases](#appendix-b--use-cases) -* [Appendix C: Non Functional Requirements](#appendix-c--non-functional-requirements) -* [Appendix D: Gloassary](#appendix-d--glossary) - -## Setting up - -#### Prerequisites - -1. **JDK 8** or later -2. **Eclipse** IDE -3. **e(fx)clipse** plugin for Eclipse (Do the steps 2 onwards given in - [this page](http://www.eclipse.org/efxclipse/install.html#for-the-ambitious)) - - -#### Importing the project into Eclipse - -0. Fork this repo, and clone the fork to your computer -1. Open Eclipse (Note: Ensure you have installed the **e(fx)clipse plugin** as given in the prerequisites above) -2. Click `File` > `Import` -3. Click `General` > `Existing Projects into Workspace` > `Next` -4. Click `Browse`, then locate the project's directory -5. Click `Finish` - -## Design - - -## Testing - -* In Eclipse, right-click on the `test/java` folder and choose `Run as` > `JUnit Test` - -## Appendix A : User Stories - -Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*` - - -Priority | As a ... | I want to ... | So that I can... --------- | :-------- | :--------- | :----------- -`* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App -`* * *` | user | add a new person | -`* * *` | user | delete a person | remove entries that I no longer need -`* * *` | user | find a person by name | locate details of persons without having to go through the entire list -`* *` | user | hide [private contact details](#private-contact-detail) by default | minimize chance of someone else seeing them by accident -`*` | user with many persons in the address book | sort persons by name | locate a person easily - - -## Appendix B : Use Cases - -(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise) - -#### Use case: Delete person - -**MSS** - -1. User requests to list persons -2. AddressBook shows a list of persons -3. User requests to delete a specific person in the list -4. AddressBook deletes the person
-Use case ends. - -**Extensions** - -2a. The list is empty - -> Use case ends - -3a. The given index is invalid - -> 3a1. AddressBook shows an error message
- Use case resumes at step 2 - -## Appendix C : Non Functional Requirements - -1. Should work on any [mainstream OS](#mainstream-os) as long as it has Java 8 or higher installed. -2. Should be able to hold up to 1000 persons. -3. Should come with automated unit tests and open source code. -4. Should favor DOS style commands over Unix-style commands. - -## Appendix D : Glossary - -##### Mainstream OS - -> Windows, Linux, Unix, OS-X - -##### Private contact detail - -> A contact detail that is not meant to be shared with others From 656d739ccaf8ccc1f8c8b015b3b8dc58f696a7ca Mon Sep 17 00:00:00 2001 From: maltiso Date: Tue, 4 Jul 2017 17:31:18 +0800 Subject: [PATCH 3/4] Added use case --- doc/DeveloperGuide.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/doc/DeveloperGuide.md b/doc/DeveloperGuide.md index 9affd2d17..3b765a247 100644 --- a/doc/DeveloperGuide.md +++ b/doc/DeveloperGuide.md @@ -76,6 +76,29 @@ Use case ends. > 3a1. AddressBook shows an error message
Use case resumes at step 2 +#### Use case: Rename tag + +**MSS** + +1. User requests to edit tag details +2. AddressBook requests confirmation +3. User confirms the edit +Use case ends if false, continue to 4 if true. +4. AddressBook edits tag if confirmed +Use case ends. + +**Extensions** + +1a. Invalid tag details + +> 1a1. AddressBook shows an error message
+ Use case resumes at step 2 + +2a. The tag does not exist + +> Use case ends + + ## Appendix C : Non Functional Requirements 1. Should work on any [mainstream OS](#mainstream-os) as long as it has Java 8 or higher installed. From f71d1348e64501bc41b422b5ff0d7f252ba7b157 Mon Sep 17 00:00:00 2001 From: maltiso Date: Tue, 4 Jul 2017 17:33:24 +0800 Subject: [PATCH 4/4] Added NFR --- doc/.DeveloperGuide.md.swp | Bin 12288 -> 0 bytes doc/DeveloperGuide.md | 2 ++ 2 files changed, 2 insertions(+) delete mode 100644 doc/.DeveloperGuide.md.swp diff --git a/doc/.DeveloperGuide.md.swp b/doc/.DeveloperGuide.md.swp deleted file mode 100644 index 0c10551903d05d160228bba075d8648c16302b36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeHN%X1?~8Se!)39pcX3*0_-d04_Dd2J{hleq9owxeYqCR%5A%e9nRGc8TWGu@N! z8Ox$vmHY?1&s2q~>1$s0dD|50e%de z0TQ?Zy!C0u{tWyHcm%uwXyBipV(f3g>%cMa0Jsm_2EGh@3HSo=dEgJ9WbF6AFM!v9 z=YVekTfj$wzkGtR6zBn$fFFIFv1fr_KE+rJJPAAjTn65LlCggP8c@J@fdk+LU?2Dj z@ct8w{So*%@I&ASz-z#(fCOUTK5!4%1ilG81-yM3vVq?LZvqd1uL19X(_aI>0)7Vk z6nG7I6&L~>=mH(U^Zy}Ana8B_7`J(FXUKi%z{nGxi+>Zu*f!mhD$*0XN;jn{PFLwrN&LLi5AM&_-r`c( z+z6gx*bUN7mI)QfQ|i(d?I+q=Zl;WVy+!?47fD1TexeO^@APqHXqvcf)0C^ol0Ff} zZxJlNXt9m?VoVmL4ZO&83bi9Dl!TGO=9VCbaJ5L0)rAS2Y}_zn>+|K{fe*1KD2X+6 zDKhtXZEbCha3RTRWn1jpeD*|}W6}yzr*xDqTKaJ1>iPFT+XitVT-**k-R#VJ@}e3B4#@DWnmpP&wR0gxgmXa{R!Bsv;FI zGzWVkqjh*`gG1$=^0L)+T(*L%;WTJX!We9i`Ie6bJvTJljBW51-Hio}gmNUq*$S!rdZ&o<>7x9~Wb#Vt(af99nHS{yIhDJe z9k=>@XMoRznH5{q^%_@#7+cu`lkgrDl`AZgD$$cwuTrzwpTZw$v+1~WMh+IV8~C_% zqs`_{m}|2z4dTpT6)~K^OEZfR)ILQg(u&4%uv|y5I3+uX1~`Wengcp>N|`b(kV?~; z^>C`!g_p5G?j{~4TW#|Bl;M;VM^2p~d_z|Sc=d_|w=$Vx13KTr@8sgkL zE#EmSd6p%TyHI|NkQf*L=qUTZx?_=B)tjIyZ9!Su8U$q{G2%s%L*G;?nab}YF=DQe z>(IrbI%p+GBw)x2A(4zvLDL@(@C1*7+%hOC&Mc-1wHH8eB27{^{i=#R4Cqx|B2 z^Smj=fg)586jj11BYpCrZ1m6>e5pdjC?TSYau6<1TZzdm63!OpxM3e{h$A8J=qiiv z0fjGK)^9t4aAfk*_#{TX>Cs4=v4Dws;$}dUHw;~a1=R-`~=5wc3R5E?~F zD@r21plvy!nt}Ip6IQGscjd82rsp%9h{1B+?v#0JsE_=|#wa}0Q?wf{J+1vR+Q4&E{y zlQrS@X1vP%INm9P(r5S3^z}59TuFqHe(aLR|i!It!wm^PNb>V&G1JJizA7ss@ zSQ(u*LQgqmNimiRr5L?>)(ri$%m~+xq?N8?@gY*E!PZ)Y4seVKDDXyPdbM;0ntmC< zh-Vd zbXtCESI3D~oTtfE>>j`m0Z)e#g}1PchU0(9VwhUm>~ip&xvt9(luH~ZEUn|bGvNlO zu^A=K3+VObrV!EV?mG6H%^ThC&?W{TD?#I!*?O?Zp3i~4$i2gh%mw|?`2o?N4-tzv zAfo7_Yxsj>5Cy@wIyW|!7IgmOIcZTu7z9eIU^G8b1>U38iE3Hu^@WDIC}S7|s7`@9 zcG=|>JATDHl@}LrzsTSO>$BXitFjT(5KoQ?KU$_61|y$$er(3nVTN&A(iRk%I|3j* Mt84S*@6EG+0ntQV?EnA( diff --git a/doc/DeveloperGuide.md b/doc/DeveloperGuide.md index 3b765a247..3827e99a1 100644 --- a/doc/DeveloperGuide.md +++ b/doc/DeveloperGuide.md @@ -105,6 +105,8 @@ Use case ends. 2. Should be able to hold up to 1000 persons. 3. Should come with automated unit tests and open source code. 4. Should favor DOS style commands over Unix-style commands. +5. Should take up less than 500mb of space. +6. Should Automatically save to local repository. ## Appendix D : Glossary