The Wedding Planning System Software Requirements Specification Version 1.0 3 May 2012 Dan Coulter Sidney Haynes Johnson Hu Rosy Upreti Sepideh Deliri Prepared for SWE 620—Software Requirements Analysis and Specification Instructor: Dr. Frank Armour Spring 2012 Wedding Planning System Table of Contents 1. PROJECT DRIVERS ......................................................................................................................................... 1 1.1 THE PURPOSE OF THE PROJECT ...............................................................................................................................1 1.1.1 The user problem or background of the project effort...........................................................................1 1.1.2 Goals of the Project ................................................................................................................................1 1.2 CLIENT, CUSTOMER, AND OTHER STAKEHOLDERS ........................................................................................................2 1.2.1 Buyer and Owner of the System .............................................................................................................2 1.2.2 Customers of the System .......................................................................................................................2 1.2.3 Other Stakeholders ................................................................................................................................2 1.3 USERS OF THE PRODUCT ........................................................................................................................................3 1.3.1 The hands-on users of the product ........................................................................................................3 1.3.2 The Priorities Assigned to Users .............................................................................................................4 1.3.3 User Participation ..................................................................................................................................4 1.3.4 Maintenance users .................................................................................................................................5 1.3.5 User Hierarchy .......................................................................................................................................6 2. PROJECT CONSTRAINTS ................................................................................................................................ 6 2.1 MANDATED CONSTRAINTS......................................................................................................................................6 2.1.1 Solution Design Constraints ...................................................................................................................6 2.1.2 Implementation Environment of the Current System .............................................................................7 2.1.3 Partner or Collaborative Applications ....................................................................................................7 2.1.4 Anticipated Workplace Environment .....................................................................................................8 2.1.5 How long do the developers have for the project? ................................................................................8 2.1.6 What is the financial budget for the project? ........................................................................................8 2.2 NAMING CONVENTIONS AND DEFINITIONS ................................................................................................................8 2.2.1 Definitions ..............................................................................................................................................8 3. FUNCTIONAL REQUIREMENTS ...................................................................................................................... 9 3.1 THE SCOPE OF THE WORK ......................................................................................................................................9 3.1.1 Context Diagram ....................................................................................................................................9 3.2 THE SCOPE OF THE PRODUCT ................................................................................................................................10 3.2.1 Product Use Case Diagram ..................................................................................................................10 3.2.2 Product Use Case List ...........................................................................................................................10 3.3 FUNCTIONAL AND DATA REQUIREMENTS .................................................................................................................11 3.3.1 Functional Requirements Use Cases ....................................................................................................11 3.3.2 Functional Requirements Use Case Mock-ups .....................................................................................23 4. NON-FUNCTIONAL REQUIREMENTS ............................................................................................................ 25 4.1 LOOK AND FEEL REQUIREMENTS ............................................................................................................................25 4.1.1 The Interface ........................................................................................................................................25 4.1.2 The Style of the Product .......................................................................................................................26 4.2 USABILITY AND HUMANITY REQUIREMENTS .............................................................................................................26 4.2.1 Ease of Use ...........................................................................................................................................26 4.2.2 Personalization and internationalization .............................................................................................28 4.2.3 Ease of Learning ...................................................................................................................................28 4.2.4 Understanding and Politeness Requirements ......................................................................................29 4.2.5 Accessibility Requirements ...................................................................................................................29 4.3 PERFORMANCE REQUIREMENTS ............................................................................................................................29 4.3.1 Speed and Latency Requirements ........................................................................................................29 4.3.2 Reliability and Availability Requirements ............................................................................................30 4.3.3 Robustness or Fault Tolerance Requirements ......................................................................................30 Software Requirements Specification Page ii Wedding Planning System 4.3.4 Longevity Requirements.......................................................................................................................31 4.4 OPERATIONAL REQUIREMENTS..............................................................................................................................31 4.4.1 Partner Applications ............................................................................................................................31 4.5 MAINTAINABILITY AND SUPPORT REQUIREMENTS .....................................................................................................31 4.5.1 Maintenance Requirements .................................................................................................................31 4.5.2 Supportability Requirements ...............................................................................................................32 4.6 SECURITY REQUIREMENTS ....................................................................................................................................32 4.6.1 Access Requirements ...........................................................................................................................32 4.7 CULTURAL AND POLITICAL REQUIREMENTS ..............................................................................................................32 4.7.1 Cultural Requirements .........................................................................................................................32 5. PROJECT ISSUES .......................................................................................................................................... 33 5.1 NEW PROBLEMS ................................................................................................................................................33 5.1.1 What problem could the new product cause in the current environment? .........................................33 5.1.2 Will the product create other problems? .............................................................................................33 5.1.3 What limitations exist in the anticipated implementation environment that may inhibit the new product? .............................................................................................................................................................33 5.2 RISKS ...............................................................................................................................................................33 5.3 WAITING ROOM.................................................................................................................................................34 Software Requirements Specification Page iii Wedding Planning System 1. Project Drivers 1.1 The Purpose of the Project 1.1.1 The user problem or background of the project effort Fruition Wedding Planners (FWP) is a company which helps to organize successful wedding events for their clients. FWP provides guidance and helps clients in the decision making and planning processes associated with the many aspects of organizing a wedding. Currently, FWP has consultants which meet with their customer base, which represents both clients and vendors alike. These consultants are offering their services as advisers and communicators acting as a middle-man between both parties. Currently, the consultants leverage face to face meetings as well as phone calls and emails as a form of immediate communication with the customers. Custom software solutions are being used to support the consultants, in the form of a case management system which offers minimal support for tracking and managing each client's wedding event. Over Time, the current and potential future customer base has become more technologically affluent, adapting to the internet age and breakthroughs in mobile technology. As a result there is now a high demand by the market to provide online services for customer use. FWP would like to penetrate the e-commerce market and utilize the economies of scale through the development of an online wedding planning tool. The wedding planning tool will become a system accessible online and used by consultants, vendors, and clients alike. Each user base will take a different perspective towards the tool, based on the needs of their roles within the wedding planning system. Clients will use the tool to plan out their weddings. Vendors will use the tool to market and sell their services. Consultants will use the tool to assist in interactions between both clients and vendors. Thus the wedding planning system will solve a large accessibility and communications problem for the FWP, and encourage more interactivity on behalf of all customers and expand the customer base. This solution will also modernize the FWP. 1.1.2 Goals of the Project The System shall increase FWP's client base by 50% The System shall increase FWP's vendor base by 20% The System shall reduce the time of planning and organizing the wedding related services by 50% The System shall reduce the cost for clients and vendors to facilitate wedding related services by 15% The System shall increase FWP's overall profit by 25% The System will be highly available with a 2% maximum down time for maintenance purposes. The System shall be used for a period of at least 5 years Software Requirements Specification Page 1 Wedding Planning System 1.2 Client, Customer, and other Stakeholders 1.2.1 Buyer and Owner of the System The buyer and owner for this system is the Fruition Wedding Planner Company. The FWP is responsible for 100% of the costs incurred for the development, deployment, and maintenance and operations of this project. Upon, completion, the wedding planning online system will be completely owned by the FWP. 1.2.2 Customers of the System The customer can be broken down into two entities. The first customer group is the clients. Clients are individuals who are in the process of planning a wedding. They are paying for the services provided by the wedding planning tool in order to facilitate their planning and organization of a wedding. The second customer group is the vendors. Vendors are paying to access the online wedding system as a form of marketing and advertisement for their firm. They leverage the system to gain new business with the various clients who are looking for vendor services for the needs of their respective wedding. 1.2.3 Other Stakeholders The roles and (if possible) names of other people and organizations who are affected by the product, or whose input is needed in order to build the product. Users (clients) - Need to be familiar with the system in order to use it for their specific needs. Wedding Consultants – Need to be familiar with the system from an end user perspective to perform consulting duties. Testers – Need to understand the system flow in order to write and implement test cases during and after development. Technology Experts – Need to understand the main needs of the customer in order to advise the best fit technological solutions for the online wedding system System Designers – Need to understand the functional and non-functional requirements and use cases in order to break them down into software requirements and develop a software solution. Software Developers – Need to understand the software requirements and be provided with proper tools in order to develop the software solution. System Administrators – Need to be familiar with the administrative aspects of the system in order to maintain the system after created and assist with patches and other maintenance. Usability Experts – Need to be familiar with the user base in order to design a UI which is compatible for the proper customers’ needs. Software Requirements Specification Page 2 Wedding Planning System Representatives of external associations (vendors) – Need to be familiar with the system in order to use it for their specific needs. 1.3 Users of the Product 1.3.1 The hands-on users of the product Fiancé and fiancée This couple is recently engaged and is responsible for initiating their wedding planning from the engagement party to honeymoon—only if they desire to have a complete wedding planning process. They use the process-driven tool to assist them in design, planning and management of their wedding. They are responsible for specifying their desires and needs of every aspect of the wedding such as themes, fashion, vendor brands (if known to have preferences), locations, dates and etc. They can make any changes to their wedding planning on the fly. They also specify their budget and may opt out certain events to fit their budget. They can determine and choose vendors from aggregated customer reviews of the wedding vendors. They use the tool to keep track on the progress on each request they made for each vendor. Ideally, their subject matter experience is at novice however it is possible that they will be experts of the wedding planning depending on their past experiences. At minimum, their technological experience will be at intermediate in which they use Internet and mobile devices on their daily basis as well as be familiar with social media networks. Representative of wedding vendors Representatives from several e-commerce supported companies, who are responsible for providing wedding services and products, will use the tool to market their services, products or both. They use this tool as their advertising space in which they can market their services and products. In addition, they use this tool as a medium to interact with their clients to learn about their background and their preferences or desires. In this system, they update the progress tracker for their services or products that were requested by their clients. Ideally, they have intermediate to expert subject matter experience in the wedding design and planning. They are also intermediate to expert in the technological experience because they will be expected to be comfortable with using online tools as well as communication over the Internet. FWP consulting agent They are professionals who assist with the design, planning and management of a client’s wedding. They use their company’s content management system (CMS) to communicate with the clients and vendors. They negotiate with the vendors for the pricing and their advertisement exposure before making their name public in their aggregated databases of wedding vendors for the clients to choose from. Despite their process-driven tools for clients and vendors are flagship, they will still retain their responsibilities of tracking and managing each client’s wedding events through their CMS but at lesser degree due to the additional tools for their clients and vendors. For example, if the recently engaged couple is still inexperienced current Internet technologies Software Requirements Specification Page 3 Wedding Planning System such as web applications of information sharing and user-centered designs, then the consultants of FWP will provide assistance to this couple by walking through their system’s wedding planning process. However, this is an additional responsibility to their defined main responsibilities spelled out earlier. Clearly, their subject matter experience is advanced because they understand the overall wedding planning and what is happening under their hood. Also they are at intermediate to advanced level in terms of the web application usage so they are adept in using their content management system. FWP System Administrator They are responsible for managing the FWP CMS and web applications that provides tools for the clients, vendors, and consultants. They will provide technical support to the end users and maintain the security and reliability of the system. However it is required that their subject matter experience on wedding planning is none to novice, they may have more experience in wedding planning depending on their previous experience. Ideally, their technology expertise ranges from intermediate to advanced due to the technical support they provide and manage the overall FWP wedding planning system infrastructure. 1.3.2 The Priorities Assigned to Users Key users (critical) Client (FWP) – major influence Internal and external wedding Consultants – subject matter expert Customers (clients and vendors) Secondary users (important) Technology experts Usability experts System administrators Unimportant users (useful) Testers System Designers Software Developers 1.3.3 User Participation Key users Both Fruition Wedding Planners (main client) and wedding consultants will have large influence in how their system should be improved because they have first-hand experience with the preexisting content management system that they used to design, plan, and manage their client’s wedding. They provide business knowledge, subject matter expertise in wedding planning, and usability requirements. External wedding consultants can serve as subject matter experts also. Software Requirements Specification Page 4 Wedding Planning System Users (clients and vendors) of this soon-to-be designed system will also have major impact on how tools are to be designed an integrated into the existing web application. They provide usability requirements and all high level features they would want to have in this web application. They can provide the accessibility requirements. Their depth of knowledge in the technology and wedding planning could be basis of the requirements to be developed. Their inputs are critical to the continued success of the product because customer satisfaction of using the wedding planning application can influence the profitability of this product. They are the FWP’s source of revenue. Secondary users Both technology experts and usability experts will use this product to determine and improve the usability experience. Technology experts will influence the design in terms of the future proof of this product. They could provide interface prototyping and usability requirements. Both however do not have much effect on their product’s long-term success as FWP, consultants and users do. Systems administrators are more concerned with the maintainability of the system to ensure the continuing success of this product but they do not have direct impact on how users will use the system. Unimportant users Software and systems developers, and testers will have a little to none participation in the requirement analysis due to their mutually exclusive responsibilities. They do not have the impact on what features their product is to have. 1.3.4 Maintenance users Systems administrators are secondary users who will have somewhat indirect impact on how the product will be. Since they are sole responsible for maintaining the web applications of FWP, they will be responsible for continuing success of the product. Therefore, the maintainability, configuration management, recovery, scalability, security, supportability, and other nonfunctional requirements of the system are important for continuing success. Software Requirements Specification Page 5 Wedding Planning System 1.3.5 User Hierarchy 2. PROJECT CONSTRAINTS 2.1 Mandated Constraints 2.1.1 Solution Design Constraints The product must provide a searching feature The product must be available online. The product must incorporate a secure payment system The product must coordinate the wedding service on behalf of the client. The product must allow the service clients to create a profile. The product must provide budget management tool for the clients The product must provide the service client with a personalized organizer tool to manage important events. Software Requirements Specification Page 6 Wedding Planning System 2.1.2 Implementation Environment of the Current System The production web server system will be able to handle multiple connections from the clients, vendors, wedding consultants and even administrators. The hardware setup for production web server system includes multiple servers that promote availability of 98% of its production lifetime, reliability, and recoverability due to singularity hardware failure or other unforeseen circumstances. The production servers will involve database servers for data storage and mining. Clients, vendors, and wedding consultants will use their personal computers, desktop or laptop, that has a capability of running web browser with required plug-ins to interact with our product through the Internet. The administrators will have the high-end technology solutions and machines to support their administrative operations enabled by the product. 2.1.3 Partner or Collaborative Applications PayPal Payment System The online wedding system will require a means of providing payment both to and from FWP. In order to ensure the utmost security of these transactions the wedding system will leverage the established PayPal system to handle all monetary transactions. This is an easy service for all Software Requirements Specification Page 7 Wedding Planning System users to perform transactions with and is very familiar and trusted within the online community. There is no extra charge on the users for making payments through this system however it does require them to register a credit card, or banking account with the system. For more information on PayPal, see https://www.paypal.com. 2.1.4 Anticipated Workplace Environment They system will be available online only as a web application. This will be accessible from a variety of mediums. The most common will be the household desktop or laptop computer, however the site will have mobile accessibility as well as the ability to be accessed on tablets. Users will require some form of a mouse and keyboard in order to type searches, fill out forms, and move the cursor to navigate pages and browse links. The printer is a considerable distance from the user’s desk. This constraint suggests that printed output should be de-emphasized. 2.1.5 How long do the developers have for the project? The contract with the FWP is approximately 1 year in total from initial design to final deployment, with follow on dates for future installments. The system will be developed under an agile development methodology with 28 day sprint cycles. This allows for delivery of milestones every month, however due the fact that there is a pre-existing system currently in production, I true transition to the next system will not be available until it is fully developed. 2.1.6 What is the financial budget for the project? The planned financial budget for this project is 1 million dollars. 2.2 Naming Conventions and Definitions 2.2.1 Definitions Fruition Wedding Planners (FWP) – Primary customer, who buys the system, make a majority impact on the overall design and their high level features. Wedding Planning System (WPS) – The name of the web application product to be designed for FWP. It will provide tools for the wedding planning clients and vendors. Wedding planning clients – The hands-on users of the WPS and their tools to design, plan, and manage their wedding. Interchangeable terms can be users or clients depending on the context. Wedding vendors – The hands-on users of the WPS and their tools to advertise provide and manage their services and products to wedding planning clients. Interchangeable terms can be representative of vendor or consultant of vendor. FWP consultants – The representative of FWP firm who will provide optional assistance in wedding planning to the users of the WPS. Interchangeable terms can be FWP representatives, wedding planners, and wedding planning consultants. Software Requirements Specification Page 8 Wedding Planning System Systems administrators – The hands-on users who have complete control over the user accounts with the account holders’ permission. They are responsible for the management of the accounts and maintenance of the WPS. Also they are responsible for providing technical support to the users. 3. FUNCTIONAL REQUIREMENTS 3.1 The Scope of the Work 3.1.1 Context Diagram Software Requirements Specification Page 9 Wedding Planning System 3.2 The Scope of the Product 3.2.1 Product Use Case Diagram 3.2.2 Product Use Case List User Feedback System- Used for feedback entering whenever users has an opinion on the Wedding Planning Service (WPS) Software Requirements Specification Page 10 Wedding Planning System Pay For Services- the operation thru which the users select to pay by PayPal or credit card Utilize Budget Management Tool- Used to track vendor and purchases counting toward the wedding. Utilize Personal Organizer Tool- Used to organize wedding date events and modify events created automatically and by users and features calendar features Perform Smart Search- Perform a site wide search for something related to the wedding planning site offering advanced (contextual search) and title of page based searches Register for account- The interface used to create an account that is used to access wedding services Modify User Interface- Provides a method for the client to update the user interface for their wedding settings which are viewable for the world Send Notification- The system will notify the user whenever an important event occurs for data related to their account being created or modified. Remove User Account- The administrator is allowed to cleanup account information when a user request to have account deleted. Add User Account- Used to from the back end create user accounts that are not normal users (administrators, consultants, and vendors) Modify User Account- Used to change user settings across their account Modify Web Interfaces- Used for administrators to change the look and feel of the overall site through a CMS Apply Patches/Releases- Used for patching bugs in existing system and deploying new releases to the server. Send Paycheck to Employees- Used to pay WPS employees their paycheck Create Personal Profile- The personal profile used to determine features capable of being used inside of site Login- If the user would like to access services they must use user name and password to make changes and plan wedding events 3.3 Functional and Data Requirements 3.3.1 Functional Requirements Use Cases Use Case Name: Registration Unique Use Case ID: UC001 Brief Description: The user registers to the system. Software Requirements Specification Page 11 Wedding Planning System Actor(s): Client Pre-Conditions: None Main Flow of Events: 1. The system asks user for personal information(Name, Address, Phone number, …) 2. The user enters the requested information. 3. The system asks the user to define a username and password. 4. The system asks a security question from the user (it will be used when the user forgets his password). 5. The user answers the security question. 6. The user enters username and password. 7. The system asks for the type of the package that the user wants to register for. 8. The user chooses a package type. 9. The system registers the new user. Alternative Flows and Exceptions: 1. Should the user enter a username that is used by another user before, the system asks for a new username from user. 2. Should the user enter a password that doesn’t meet the basic password format, the system asks for a new password from user. 3. Should the user hits cancel button before entering all information. The system will not register the user into the system. 4. Should the user’s personal information is exactly the same as a user that has already been registered into the system. The system gives a message that the user is registered to the system before. Development Constraints: Requires all the personal information about the user to be stored in the database for future use. Source: Requirements Elicitation meeting Include Use Case Name: Log in Use Case ID: IUC-10 Brief Description: The user enters a valid username and password and logs into the system. Actor(s): Client Pre-Conditions: The user has been registered to the system. Main Flow of Events: 1. The system displays prompts for the User.id and User. Password; The LOGIN button is displayed as well. 2. The user enters username and password and hits the LOGIN button. 3. The system checks for the username/password validity and verifies user’s access rights. 4. The system allows the user to log into the account and displays the overview of user’s account. Alternative Flows and Exceptions: 1. Should the user enter a wrong username/password, the system asks for entering username and password again. 2. The user enters wrong password for 3 times. The system asks the security question from the user and if the answer is correct the system will send a new password to the user’s email. Software Requirements Specification Page 12 Wedding Planning System Development Constraints: None Source: Requirements Elicitation meeting Use Case Name: Create personal profile Unique Use Case ID: UC003 Brief Description: The user creates the personal profile that will be used by the system Actor(s): Client, vendor, consultant Pre-Conditions: User is logged in successfully and authorized to create their personal profile Main Flow of Events: 1. The system presents the user with Create personal profile option 2. The User provides his/her personal information. 3. The System based on the information provided by the user creates the Personal profile for them. Post-Conditions: The system creates the personal profile for the user Development Constraints: Requires the different page to be created where the user can fill their personal information. Source: Requirements Elicitation meeting Use Case Name: Perform budget management Unique Use Case ID: UC004 Brief Description: The user types in values for various budget fields and submits the calculator. The system then performs an internal calculation based on data available from the user and returns an available balance. Actor(s): Client Pre-Conditions: User is logged in successfully and authorized to use the budget management Main Flow of Events: 1. The user types in an overall budget value. 2. The user steps through each field for which a wedding feature is available and inputs the amount of money spent towards that particular aspect. 3. The user selects the calculate button with the mouse or keyboard. 4. The system performs an internal calculation against all spending fields versus initial available budget. 5. The system sends the resulting calculations to the budget page. Post-Conditions: The system displays the results of the search. This includes the overall remaining budget as well as a budgetary suggestion of the amounts to be spent towards any remaining wedding features. Alternative Flows and Exceptions: 1. Should the user input anything other than a numerical value, they system will prompt the user for currency. 2. Should the resulting calculation be negative (client has overspent) the resulting display will notify that the current path is over budget and suggest a solution that is within the specified budget. Development Constraints: Requires these fields to be stored in the database in order to save the users budgetary preference over time. Software Requirements Specification Page 13 Wedding Planning System Source: Requirements Elicitation meeting Use Case Name: Perform smart search Unique Use Case ID: UC005 Brief Description: The user types in a string of text and submits the search. The system performs an internal search of the data available to the user and returns a list of results in the form of links. Actor(s): Client Pre-Conditions: User is logged in successfully Main Flow of Events: 1. The user types in a string of text as a search input. 2. The user selects the submit button with the mouse or keyboard. 3. The system performs an internal search against all searchable data within the database. 4. The system sorts the results and returns them to the search page Post-Conditions: The system displays the results of the search. Alternative Flows and Exceptions: 1. Should the user input an empty string for a search the search will return an empty list to the search page, a prompt to enter search text will appear on the screen. 2. Should the search produce no results an empty list will be returned to the search page, Text will appear on the resulting screen displaying that the search yielded no results. Development Constraints: Requires the searchable data in the database to be index-able in order to perform efficient results. Source: Requirements Elicitation meeting Use Case Name: Utilize personal organizer tool Unique Use Case ID: UC006 Brief Description: The user types updates for dates in personal organizer tool Actor(s): Client Pre-Conditions: User is logged in successfully and authorized to use the personal organizer tool Main Flow of Events: 1. The user types in wedding date 2. System calculates default/latest dates that events should be planned. 3. The user steps through each of the dates when is the latest a task needs to be completed 4. The user is allowed to customize dates based on preference. 5. The user clicks on an event for more information on event vendors 6. User enters information about their event and quotes are sent to vendors. 7. The system throws in hints about additional events and things that may be interesting facts that relate to the users wedding on dates 8. The system sends the vendor quotes to the user when complete and updates the information inside the calendar Post-Conditions: The system displays the events dates that are needed for the wedding. Alternative Flows and Exceptions: 1. Should the user decide the Consultant can complete the steps of planning for the client? This service requires a more expensive package. Software Requirements Specification Page 14 Wedding Planning System Development Constraints: Requires a calendar and planner be created and tracked in database. Create a default location of wedding event that are typically planned by wedding clients. Source: Requirements Elicitation meeting Use Case Name: Input feedback Unique Use Case ID: UC007 Brief Description: Users provide feedback about the website Actor(s): Client, vendor, consultant Pre-Conditions: User is logged in successfully Main Flow of Events: 1. The system provides the users with a page where they can provide feedback. 2. The users enter their opinions about the website in the page specified by the system Post-Conditions: The system displays the feedback of the users. Development Constraints: Requires the separate web page where users can input their feedback. Source: Requirements Elicitation meeting Use Case Name: Send Notification Unique Use Case ID: UC008 Brief Description: The client gets notification from the system based on inference whenever an important event is created or modified, such as the case of vendors updating their price or quantity of their product or service. Also if a system administrator updates/deletes existing data and/or changes user preferences or applied patches/releases then the corresponding notification is sent to client user. The system will also send notification for any updates done by wedding consultants on the events as well as their contents. Actor(s): Client, vendor, consultant, admin Trigger: Whenever an important event or content is created or updated from the relevant vendor, consultant, or system administrator. Pre-Conditions: The system is operational. The user must have authentication rights and client is a paid member. Main Flow of Events: 1. The logged in non-client user is entering new content, editing an existing content, changing user preferences or applied patch. 2. Once the user does all the modifications, they click the submit button. 3. All the changes are saved if there is no validation error (alternative flow) 4. System sends notification to other users based on client’s package membership. 5. Notification is in the form of SMS and email for gold package membership and only email for both silver and bronze package membership. Post-Conditions: The notification has been successfully sent to the client user in form of e-mail (silver and bronze package membership only) or in form of SMS and e-mail (gold package membership only) Alternative Flows and Exceptions: 1. Should there be validation error, it will display to user the error along with its description. 2. User corrects the error and clicks on the submit button Software Requirements Specification Page 15 Wedding Planning System 3. Should there is no validation error, all the modifications are saved else the user is required to repeat the process. Non-Functional Requirements: The notification message should be generated within 60 seconds of the recent relevant change. System administrators should have a permission from the client to modify their profile and user preferences. Priority: High Assumptions: N/A Issues: N/A Source: Statement of work, Requirement elicitation meeting (4/1/2012) Use Case Name: Manage user accounts Unique Use Case ID: UC009 Brief Description: The admin perform basic account management operations, which includes creating new user account and also editing, and deleting user account. Actor(s): admin Trigger: A new user account is requested. Change of the information or content of existing account is requested. Delete this account is requested. Pre-Conditions: The system is operational and policy is in place to accept new users and manage their accounts. The admin is given authentication rights and the account to be managed exists in the system. Main Flow of Events: 1) The admin logs into the FWP system with his/her credentials 2) The admin arrives to its main interface with all administrative functions. 3) The admin clicks on manage accounts link. 4) The admin is given a list of user accounts 5) If the admin wants to create an account. (See alternative flow ‘a’). 6) If the admin wants to modify an account (see alternative flow ‘a’). 7) If the admin wants to delete an account (see alternative flow ‘b’). 8) When the account management operation is completed, the admin can return to the main administrator interface. Post-Conditions: The user data is stored in the user account in the system and notification is sent to the appropriate client via email or SMS depending on their package membership. If the user data is invalid then no account will be created. No notification is sent to the appropriate user. If the user data or account has been deleted then the account no longer exists in the system. The notification of this is sent to the appropriate client. Alternative Flows and Exceptions: Alternative flow ‘a’ (admin enters invalid user account information or preference) 1. The system describes which entered data was invalid and presents the admin with description and suggestions for entering valid data. 2. The system prompts the admin to reenter the invalid information or preference. 3. The admin reenters the information or preference and the system revalidates it. 4. If valid information is entered, the user account information or preference is stored. Software Requirements Specification Page 16 Wedding Planning System 5. If invalid information or preference is entered, the system invalidates it and the alternative flow ‘a’ is executed again. This will repeat until all user information or preference is valid. Or the admin cancels the change action (see alternate flow ‘c’). Alternative flow ‘b’ (the admin cannot delete the account because of restrictions) 1. The system will display the restrictions on the account that cannot be deleted. 2. The deletion process is discontinued and the user account remains unchanged. 3. The system notifies the appropriate client that the admin canceled the account deletion request. Alternative flow ‘c’ (the admin cancels the change action) 1. At any time, the admin may cancel the account creation, deletion, or change. 2. If it happens, the processing is discontinued and the user account remains unchanged (for change or delete request). 3. The notification of request cancellation is sent to the appropriate client. Non-Functional Requirements: The system should be able to handle 10 admin requests concurrently. Priority: High Assumptions: N/A Issues: N/A Source: Requirement elicitation meeting Extending Use Case Name: Add user account Base Use Case Name: Manage user accounts Extend ID Number: UC009-E1 Base ID Number: UC009 Brief Description: The admin is requested to create a new user account and add it into the current list for this system. This is one of the basic account management operations. Pre-Conditions: The admin is granted permission to add account and this new account does not exist in the system yet. Additional Actors (not found in base flow of events): N/A Flow of Events: 1. The admin clicks on create a user account link. 2. The admin enters the required user account information values. 3. After all required form is filled, the admin click on submit button. 4. The system validates all the values and displays a successful message if no error is found. 5. The system stores the user account information. 6. The system notifies the client that the account has been created. Post-Conditions: The user data is stored in the user account in the system and notification is sent to the appropriate client via email or SMS depending on their package membership. If the user data is invalid then no account will be created. No notification is sent to the appropriate user. Priority: Medium Extending Use Case Name: Modify user account Base Use Case Name: Manage user accounts Software Requirements Specification Page 17 Wedding Planning System Extend ID Number: UC009-E2 Base ID Number: UC009 Brief Description: The admin is requested to modify a particular user account by changing its preferences or information. This is one of the basic account management operations. Pre-Conditions: The admin is granted permission to modify account’s information or settings and this account has to exist in the system. Additional Actors (not found in base flow of events): N/A Flow of Events: 1. The admin clicks on change account settings link. 2. The system displays to the admin all the existing accounts they can change like email, name, password, permissions, and etc. 3. The admin select an account to be modified and it displays all the user account information and preferences. 4. The admin selects any one of the user account information or preferences and proceeds with modification. 5. Once the admin has done all the changes they intend to do, they click on submit changes button. 6. The system validates all the changes and displays a successful message if no error is found. 7. The system sends a notification to the relevant client informing them about the changes made in the preferences Post-Conditions: The user data is stored in the user account in the system and notification is sent to the appropriate client via email or SMS depending on their package membership. If the user data is invalid then no account will be created. No notification is sent to the appropriate user. Priority: Medium Extending Use Case Name: Remove user account Base Use Case Name: Manage user accounts Extend ID Number: UC009-E3 Base ID Number: UC009 Brief Description: The admin is requested to remove a particular user account from the system. This is one of the basic account management operations. Pre-Conditions: The admin is granted permission to remove the particular account and this account has to exist in the system. Additional Actors (not found in base flow of events): N/A Flow of Events: 1. The admin clicks on delete an account link. 2. The system displays to the admin all the existing accounts they can delete. 3. The admin selects one account to be deleted. 4. The account clicks on the delete button. 5. The system deletes the user account information. 6. The system notifies the client that the account has been deleted. Post-Conditions: If the user data or account has been deleted then the account no longer exists in the system. The notification of this is sent to the appropriate client. Software Requirements Specification Page 18 Wedding Planning System Priority: Medium Use Case Name: Send paycheck to employees Unique Use Case ID: UC010 Brief Description: The system runs the payroll periodically to pay the admin and consultant for their hours charged in servicing the clients through this system. Actor(s): Client, consultant, admin Trigger: Whenever a pay cycle for each user type reaches to the end and it’s time to run the payroll. Pre-Conditions: The system is operational. The user must have charged the hours appropriately and has complied with labor charging policies. The admin or consultant must be eligible employee of the system. Main Flow of Events: 1. The system retrieves all employees who are to be paid at the end of pay cycle. 2. The system calculates the pay based on current week timecards, employee information (salary, benefits, and etc), and all legal deductions. 3. Depending on the employee’s payment method (direct deposit or mailing) the system sends the bank transaction to its payment system for processing (see alternative flow if the payment system is down) 4. The transaction for the employee (admin or consultant) to receive their pay is processed. Post-Conditions: The eligible employee is paid at the desired time. Alternative Flows and Exceptions: 1. If the payments system is down then the system waits for the specified duration before the attempt to retransmit the bank transaction. 2. If the payment system becomes available, the system will resend the bank transaction. 3. If the payment system is still down, the system repeats the wait duration process before it retransmits the transaction. Non-Functional Requirements: The system should be able to process multiple payroll operations up to the number of its total employees concurrently. Priority: High Assumptions: N/A Issues: N/A Source: Requirement elicitation meeting Use Case Name: Pay for services Unique Use Case ID: UC011 Summary: User pays bill for wedding planning service Actor: Client, Vendor Precondition: wedding planning service is functional Description: 1 User browses to the payment page 2 System queries for the user account details and calculate the amount due based on user role and package subscriptions. 3 Display shows the service fee to the user Software Requirements Specification Page 19 Wedding Planning System 4 <<payment>> 5 System updates payment information in user account 6 System displays thank you page to user Alternatives: 1. If an invalid payment is used, the system will maintain that user owes fees 2. If the system is shut down for any reason, the system will not enforce payment due dates until it becomes accessible again. Postcondition: User maintains access to the wedding planning system. Extending Use Case Name: Pay by Credit Card Base Use Case Name: Pay for services Extend ID Number: UC011-E1 Base ID Number: UC011 Summary: User pays via credit card for services purchased on the wedding planning system Actor: Client, Vendor, Credit Card System Precondition: Wedding planning system is functional Description: 1. User enters credit card and billing information and submits to the system. 2. Wedding planning system reads in user account information and credit card data. 3. Wedding planning system sends credit card data to credit card system. 4. Credit card system validates credit card data and returns result to wedding planning system. 5. Wedding planning system validates credit card data. 6. Wedding planning system displays receipt. Extending Use Case Name: Pay by PayPal Account for services purchased on the wedding planning system Base Use Case Name: Pay for services Extend ID Number: UC011-E2 Base ID Number: UC011 Summary: User pays via PayPal account Actor: Client, Vendor, PayPal system Precondition: Wedding planning is functional Description: 1. User enters PayPal credentials 2. Wedding planning system reads in user account information and PayPal account information. 3. Wedding planning system sends PayPal data to PayPal system. 4. PayPal system validates form of payment data and returns result to wedding planning system. 5. Wedding planning system validates payment data. 6. Wedding planning system displays receipt. Software Requirements Specification Page 20 Wedding Planning System Use Case Name: Apply patches/releases Unique Use Case ID: UC012 Brief Description: The admin typically installs patches to the system. Actor(s): Admin Pre-Conditions: System is able to be taken down for a maintenance window. Main Flow of Events: 1. The admin sets timeframe for user logoff. 2. The admin sends a please logoff message to users 3. The admin disables system login for new users and account creation. 4. The admin closes system after timeframe and users auto logged off 5. The admin cause the system to shutdown 6. The patch is installed 7. The system is rebooted and users are allowed to create accounts and logon. Post-Conditions: Patch has been successfully installed Alternative Flows and Exceptions: None Development Constraints: Requires a patch that can be applied when system shutdown. Also requires that method to turn off logon and account creation be created. Also requires that auto logoff timer be created. Source: Requirements Elicitation meeting Use Case Name: Modify web interfaces (admin) Unique Use Case ID: UC013 Brief Description: The admin will modify the website style, flow and widgets loaded. Actor(s): Admin Pre-Conditions: System is able to be taken down for a maintenance window. Main Flow of Events: 1. The admin sets timeframe for user logoff. 2. The admin sends a please logoff message to users 3. The admin disables system login for new users and account creation. 4. The admin closes system after timeframe and users auto logged off 5. The admin cause the system to shutdown 6. The CMS changes are made 7. The system is rebooted and users are allowed to create accounts and logon. Post-Conditions: Website CMS has been successfully updated Alternative Flows and Exceptions: None Development Constraints: Requires that a CMS is part of the system to accommodate style changes. Source: Requirements Elicitation meeting Use Case Name: Modify user interface Unique Use Case ID: UC014 Brief Description: The user performs editing his/her account. Actor(s): User Trigger: change of the information or content of existing account is requested. Software Requirements Specification Page 21 Wedding Planning System Pre-Conditions: The system is operational and policy is in place to accept managing accounts from user side. Main Flow of Events: The user logs into the FWP system with his/her username/password. 2) The user clicks on change account settings link. 3) When the user has done all the changes, they click on “Submit” button. 4) The system validates all the changes and displays a successful message if no error is found. 5) The system sends a notification to the relevant client informing them about the changes via email. Post-Conditions: The user data is stored in the user account in the system and notification is sent to the appropriate client via email or SMS. Alternative Flows and Exceptions: If the information entered by the user is not valid, the system describes which entered data was invalid and presents the user with description and suggestions for entering valid data. If the user clicks on “Cancel” button, no change will be submitted. Non-Functional Requirements: The system should be able to handle 10 user requests concurrently. Priority: Medium Assumptions: N/A Issues: N/A Source: Requirement elicitation meeting Software Requirements Specification Page 22 Wedding Planning System 3.3.2 Functional Requirements Use Case Mock-ups System Planner Software Requirements Specification Page 23 Wedding Planning System Smart Search Software Requirements Specification Page 24 Wedding Planning System Advanced Search 4. NON-FUNCTIONAL REQUIREMENTS 4.1 Look and Feel Requirements 4.1.1 The Interface Fruition wedding planner shall help planning a wedding day easy and trouble free thereby reducing the stress involved with preparing one of the most important days in life. All kind of information including the management of the events, roles and seating arrangements, budget setting and expense tracking, gift management shall be provided in one site that ultimately saves the time of the wedding couples. Also, the information about the vendors shall be organized to ensure that the wedding and event specifics are handled smoothly and professionally. From the vendor page, client can send an email and view a map of the vendor’s address. Vendor information shall also appear in the Budget so that the client can identify the respective vendor while adding expenses. Fruition wedding planner also helps in scheduling the suitable honey moon vacations thereby attracting the newly married couples. Software Requirements Specification Page 25 Wedding Planning System 4.1.2 The Style of the Product The wedding planning tool markets exclusively to engaged couples, so the look and feel requirement serves as a means to really move towards ‘romancing the product’. The user should get a feeling that love is in the air when they approach the website. The site should have bright colors and a happy mood, utilizing pinks and reds and other colors universally associated with love. The main intro pages for newcomers should be conservative in order to appeal to the diverse set of users visiting the site; however it should make very clear the association with the website and weddings. Another useful tool is to cycle through pictures of weddings with people of all different cultures in order to appeal to any audience. It is also important to note that engaged couples are making a lot of wedding decisions and that this is an extremely important event for them, where they want to have a feeling of full control. For this reason, the website should adhere to their wants, being very customizable, allowing them to have pages which meet their own style needs. This feature is vital because it allows the styling of the product to vary based on the tastes and preferences of each new user. Likewise, the vendors will want to market their services in their own layout with their own logos and information. A very customizable site will be able to adhere to all parties needs. 4.2 Usability and Humanity Requirements 4.2.1 Ease of Use All user groups The product shall have efficient user interfaces that require least amount of clicks or steps to complete common tasks. The product shall have minimal overall number of content where appropriate. The product shall have efficient use of screen estate when displaying content, interfaces, and widgets. The product shall have efficient paths created for core tasks. The product shall provide effective help and instructions throughout the navigation schemes. Each common task performed on the product shall be clearly explained in series of welldefined steps similar to wizard paradigm, the setup assistant. The product shall minimize the number of duplicated efforts or unnecessary manual labor when navigating through the interfaces, making changes to settings, using their tools, creating/editing the content, and using their communication system. The product shall have simplified interface or dashboard with relevant cues to keep the users’ feet on the ground. The product shall have interface and architecture that are quickly and easily adopted by the users. All tools and widgets such as budget planner, scheduler, and sophisticated search function in the product shall be easily accessible to the users. The product shall provide less overwhelming help and instructions to the first-time users. The product shall restrict the customization of the content structures and interfaces for the first-timers. Software Requirements Specification Page 26 Wedding Planning System The product shall enable customization of the content structures and interfaces for the individual user groups at adequate time. The product shall have content structures and tools/widgets tailored to different but specific needs of the individual user groups—wedding planning clients and wedding vendors depending on their frequency of use. The product shall not require the wedding planning clients and wedding vendors to have technical knowledge or development skills to perform their common tasks on their component. The product shall provide consultants (authors) with tools to manage the site in a nontechnical way. The product shall support both frequent and infrequent users. The frequency of the user usage of the product shall determine the amount of complexity of the content structures and interfaces that is adequate to them. The product shall provide a capability to let the frequent users increase the complexity to their liking while maintaining minimum complexities for the infrequent users. The product shall have interfaces and architectures that match the user’s mental model which should come naturally to them at initial look. The product shall have content structures and arrangements that are intuitive and logical to the users. The product shall have a simple registration process that is straightforward and completely relevant for all user groups. The product shall have a simple log-in process with painless and quick password recovery for all user groups. For wedding planning clients and wedding vendors, the product shall shield them from technical complexities while providing them a set of powerful and adequate functions. The product shall be flexible to the user groups when it comes to handling different navigation schemes and web-accessibility-friendly techniques. The training sessions and tutorials provided by this product shall be at very minimal. Wedding planning clients The product shall enable wedding planning users to complete common tasks from establishing budget tool to researching for vendors without relying on third-party assistance or support for 90% of their entire experience. The product shall enable intuitive personalized browsing experience for wedding planning clients including the ease of browsing through services and products offered by high volume of vendors. The product shall have a very brief but concise optional tutorial on setting up their profile, setting their preferences, and using their tools for wedding planning clients. Wedding Vendors The product shall have brief but concise tutorial on content authoring of the advertisement space and online store for wedding vendor users. The content authoring function provided by this product shall be logical to the wedding vendor users. Software Requirements Specification Page 27 Wedding Planning System The product shall have a very brief but concise optional tutorial on setting up their profile and using their tools for wedding vendors. Wedding planning consultants (FWP) The product shall have a dashboard with content interface and widgets organized logically for the wedding planning consultants. The product shall provide wedding planning consultants intuitive and fast responsive tracking system for his or her clients as well as vendors. The product shall provide consultant users ability to have complete site visualization of the CMS environment. The product shall have short but concise training on content authoring of the data relevant to wedding planning process for wedding consultants. Systems administrators The product shall enable administrators to be self-sufficient in solving technical issues without a little or no need external assistance (software developers of this product). 4.2.2 Personalization and internationalization The product shall support English and Spanish The product shall allow the user to select between available languages The product shall support personalization of web page by users The product shall adapt to words and phrase used by the user The product shall accept all major currencies The product shall provide currency conversions The product shall track users preferences by cookies and remember for future sessions The product shall offer different packages for a diverse set of client needs The product shall retain the buyer's package selection The product shall retain the clients vendor preferences 4.2.3 Ease of Learning The person entering the data for their wedding should not have to waste time figuring out how the system takes input. The system should provide a walk thru interface that walks the customer thru the system and steps to organize and create a wedding. The customer should not have a problem interpreting the information required to plan their wedding. If he/she doesn’t have much knowledge about the computer, he can input into the wedding information data in a few hours and each step of the wedding should notify that all the information has been entered. This system should be designed that the Wedding planning administrators/moderators can start working with half day training at the first day. “Working” means that the Wedding Managers can add modify wedding planning information on photography in order steps of how a wedding in organized in phases. The project shall also be easy to use by wedding planners to add new capability and spaces to the website. The administrators will have a CMS (Content Management System) style interface with walk thru tutorial for how to change page settings and layouts for the entire site. Software Requirements Specification Page 28 Wedding Planning System The product will be built with a tutorial and online help. And the system user interface should be designed simple an understandable as the input on a “things to do list”. At the top of the page is a breakdown of all steps that need to be complete as icons. The product shall be easy for a bride to learn. An admin shall be able to manage all the separate accounts The bride shall be productive at organizing wedding in a short period of time. The product shall be able to be used by any public member as well as wedding organizers. After receiving no training a client shall be able enter their input into the walk thru style forms in minutes. The administrator shall achieve have a minor amount of tutorial and shall take around an hour to train. 4.2.4 Understanding and Politeness Requirements The fruition wedding planner shall be intended in organizing the successful wedding events for their clients without having them to bother with the technical difficulties associated with the projects. The website shall be simple and user interactive that could be easily understandable by the user community. The users shall use the simple process driven tools that would assist them in designing, planning and managing their wedding. The website shall use symbol and words that are naturally understandable by the user community. The technicalities associated with the detail construction of the system shall be hidden form the users. 4.2.5 Accessibility Requirements The wedding planner website shall consider browser Compatibility (like compatibility with Internet Explorer, Firefox, Opera, and Safari). Also, we have to consider that not everyone is using the latest version of these browsers and our website has to be designed in a way that it can be accessible to the users who are not using the latest versions of the browsers. It is also practical that our website is equipped with a sitemap that shows the main sections of the website in order to help the users to have an idea of the whole website. Consistency for the structure and navigation across all pages of the website should also be considered. Images that convey important information should have alternative text giving information about the content of the image. Any of the forms in the website should be accessible to all the users. A website visitor may decide to fill out a form through the website and if the form is not accessible to him/ her, the website may lose a potential customer. We shall design our website in a manner that the users can quickly get the necessary information they need by just scanning the page. We shall use headings, bullet points or bold texts to help the users get the necessary contents faster. 4.3 Performance Requirements 4.3.1 Speed and Latency Requirements The Wedding Management System must output responsive feedback to input on wedding pages within a reasonable duration of time. We will measure latency as the time period between when the user click out of a particular form field and an asynchronous message can be sent to the Software Requirements Specification Page 29 Wedding Planning System server to validate the user’s information. Until further discussed with the client, we will define the longest appropriate latency to be thirty seconds. Should the user interface be unable to meet the requirement, the developer of this project must adapt a form submittal version of verification where the entire form is submitted and the user input is returned along with incorrect data. Any interface between a user and the Wedding system on each form will have a max 30 second response time The response shall be fast enough to avoid interrupting the user’s flow of thought The product shall provide informative feedback Fit Criterion - Amount of time on form response 4.3.2 Reliability and Availability Requirements The wedding planner website must be accessible and up and running 24 hours a day, 7 days a week and 365 days a year. Also, Web software and its accessibility by diverse types of web browsers is also a main consideration. It is a good habit to remove unique features to a particular Brower to ensure that different users won’t have any problem to access the website. Therefore, we have to guarantee cross-browser availability which is simply defined as the website accessibility to users through different browsers in differing times. Also it should be considered that the wedding planner website is offering a valid or reliable source of information. To ensure reliability, the website material has to be updated regularly in order to have recent contents and information as customers expect to see fresh and up-to-date information. In the case of accuracy which is an inevitable factor in reliability, the information in wedding planner website has to make sense and if there is any link to any other reliable site, it has to be relevant to the content of our website. 4.3.3 Robustness or Fault Tolerance Requirements The product shall continue to operate in local mode whenever it loses its connection to the main servers. The product shall re-establish acceptable performance after faults or abnormal happenings during the transactional processes with wedding planning clients and vendor users, and wedding planning consultants. The product shall auto save the content authored by the wedding planning consultant at the adequate time. The product shall be able to auto-save the user’s recently changed content where appropriate successfully 98% of the time. The product shall auto-save any current unfinished contents on the page as draft before the user transitions to a different page. In the event of abnormality or fault, the product shall recover data and make it available as soon as possible. The product shall ensure that recovered data are intact and not corrupted as if data has not changed since the abnormal event. The product shall display clear human-readable error messages that are relevant each user group type. Software Requirements Specification Page 30 Wedding Planning System The product shall provide administrators suite of tools to monitor the health of the active applications, running server mainframes and troubleshoot any technical issues within the application. The product shall have planned back-up and recovery of the user data for all downtime maintenance. The product shall have hardware redundancy and replications of the servers and applications in case of the data corruption or loss of power. The product shall have dynamic load balancing to regulate the flow of requests and responses during peak hours. The product shall enable server partitioning and clustering to increase the availability of services and resources. 4.3.4 Longevity Requirements Fruition wedding planner shall be expected to operate within a maximum maintenance budget for a minimum of five years. 4.4 Operational Requirements 4.4.1 Partner Applications The Wedding Planning System must be able to interface with the PayPal payment system. The two systems must be able to transfer account information, purchase totals, and provide for complete and secure payment transactions. This interaction will be handling extremely sensitive data and will be used quite frequently (every transaction). The amount of information will not be large in volume. Basic account information and authentication will be necessary. The Wedding Planning System must be able to interface with various vendor systems in order to retrieve data or make selections for products and services. This will be a very common interaction and in some cases depending on the vendor, can involve a large amount of data retrieval. The medium suggested for now is to provide a service based architecture allowing the Wedding Planning System to request data from the vendor systems on an as needed basis. This will reduce the amount of transactions as much as possible and keep the traffic overhead to a minimum. 4.5 Maintainability and Support Requirements 4.5.1 Maintenance Requirements Computer hardware will require to be maintained on a host that is available 24X7. There will be data backups that need to be kept for the different forums as well as user data that will need to be kept so some form of database maintenance will be required. An new or software glitches will need to be reported and DRs written for fixes so some form of follow on maintenance contract for fixes will need to be built in or negotiated. Motivation - To make everyone aware of the maintenance needs of the product. Examples New User accounts must be available upon creation on webpage All data must be maintained for security reasons for five years. Software Requirements Specification Page 31 Wedding Planning System Current capabilities must be able to be patched at night during weekly outages. 4.5.2 Supportability Requirements The product shall allow users to create new workflows without the need for additional programming. The product shall allow effective and efficient maintenance and support of the system. The product shall have installation and maintenance of the system done by the systems administrators. The product shall designate systems administrators as the help desk for the wedding planning clients, vendors, and consultants. The product shall designate the small team of software developers, who have developed this product, to be the external support team for the systems administrators. For the most of the time, the product shall be self-supporting to wedding planning clients, vendors, and consultants due to series of well-defined steps offered online. 4.6 Security Requirements 4.6.1 Access Requirements Our website must have members-only areas. We want our visitors to have to sign in to see and access to our whole website. Some of the users can go for specific areas of our site. Some of them are not allowed to access these areas. So, we are simply using secure password protection for the members-only areas and as we have different types of users like customers, internal or external wedding planners, system administrators, we will have different types of access defined for each group accordingly. 4.7 Cultural and Political Requirements 4.7.1 Cultural Requirements The fruition wedding planner being a web based company is centered to the people of different cultural background of all over the world. The wedding planner shall not be offensive to religious and ethnic groups and shall take into account cultural identity, values and norms of different users who would be interested towards the system. The system shall try to integrate the cultural specific style and traditions associated with the wedding ceremony of different varieties of people all around the world. Software Requirements Specification Page 32 Wedding Planning System 5. PROJECT ISSUES 5.1 New Problems 5.1.1 What problem could the new product cause in the current environment? The development of online wedding planning system will affect the employment opportunities of the sales representatives who used to meet with clients and vendors in person as the prepackaged wedding service is provided online to the clients. Also, the creation of new system software components and any changes made to will affect the performance of the existing hardware components. 5.1.2 Will the product create other problems? Fruition wedding planning system may sometime be fraught with the potential problems such as security risks, cancelations, equipment failures, and other problems introduced by the various parties involved in the system. Extensive increase in the demand of the clients may sometime cause the system to slow down. 5.1.3 What limitations exist in the anticipated implementation environment that may inhibit the new product? The implementation environment for the system is not known at the time of this writing therefore we cannot state exactly its limitations. We expect that the existing infrastructure will be needed to update to meet the increase loads of the newly developed software and the improved clientele demands. 5.2 Risks Inaccurate metrics (25%) there is a real probability that the metrics used in measuring both the success and the progression of the development of the system will prove to be inaccurate Scheduling (25%) it is likely that the scheduling will go through various changes throughout the development process before the true deadlines are established. This will likely be largely dependent on other risk factors such as requirements creep and inaccurate requirements Scope Creep (10%) the requirements may grow beyond the acceptable scope especially if no firm boundaries are set. Unfortunately, as the scope grows more tasks will follow and ultimately the budget and schedule will suffer. External Interfaces (50%) some of the development will be done to interface with 3rd party vendor products and or systems. During this process the external systems will be required to develop or troubleshoot interfacing issues as well. This can be tricky because the risk now resides on a team which is not directly managed by development. It would be good to note that it is quite possible for scheduling to expand due to unforeseen issues with external systems. Communications Barriers (5%) in all environments maintaining open and clear communications is a struggle. This can fall into the requirements, development, test, deployment, Software Requirements Specification Page 33 Wedding Planning System integration, or even management realms. It can be assumed that occasionally miscommunications will occur between parties causing backlash to the quality or schedule of the project. 5.3 Waiting Room One of the requirements established in the SOW for the Wedding Planning system is as follows; 'The System should.... ….be easily used by all kinds of users from different parts of the world. After further discussion it was determined that English would be the standard language for the interface for the first iteration with the option for clients to implement their own language when personalizing their profiles and any other pages. However, a future requirement is to meet the initial needs of the stakeholders and bring on linguists to translate the various interfaces within the Wedding Planning System and therefore become more inviting to prospective clients from all across the world. When discussing the various aspects of planning a wedding the customers agreed to and prioritized a list based on preliminary studies by the systems engineers. However, some of the features were left out in the prioritization process. They are still important pieces to many weddings and will be captured here for future development. Venue listing for reception and wedding/ events RSVP/Save the date service Address book manager for invites Dress an Tux order Wedding decor organization make up vendor services limo services wedding gallery showcase Another requirement for the wedding planning system is to incorporate an expansive search capability. The customers specified during a requirements elicitation session that they would like the search to encompass all internal data within the system boundaries. Thinking into the future it has been decided that expanding the search to perform a Google-like search would be useful. Also the ability to crawl and index data for the purposes of performing relevancy searches and persistent searches or scheduled searches are also future features to consider. The initial wedding planning system is going to be a browser based website accessible from and internet devices but targeted towards users with laptops and computers. A future phase would be to build applications or mobile-based versions of the software so that users with mobile technology will be able to easily access and leverage the wedding tool sets. Software Requirements Specification Page 34