Wedding Planning System
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
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
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 34
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
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.
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 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.
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.