You are on page 1of 13

Fractals

Vision: To create an intuitive, information-rich, cutting-edge, reliable and scalable employee portal for Hash Solutions. Development: Fractals will be developed based on iterative agile methodologies and will incorporate TDD principles. Experiences learned from these development methods will be kept in mind while implementing the Software Development Process at Hash Solutions. Design: Software Designs of Fractals will make heavy use of use-cases to capture the varying scenarious under which it will work.

Software Requirements Specification Fractals will act as a one-stop portal for the employees/employers of Hash Solutions and is characterized as follows: 1. User-friendly 2. Communication 3. Alerts/Notification/Reminders 4. Search 5. Browser-based 6. Self-service 7. Dashboard 8. Personalization 9. Knowledge Management 10. Collaboration Fractals will borrow heavily from existing successfull methodologies deployed in current leading software packages for: 1. Content Management Systems A content management system (CMS) is the collection of procedures used to manage work flow in a collaborative environment. It is designed to: Allow for a large number of people to contribute to and share stored data. Control access to data, based on user roles. User roles define what information each user can view or edit. Aid in easy storage and retrieval of data. Reduce repetitive duplicate input. Improve the ease of report writing. Improve communication between users.

An enterprise content management (ECM) system is concerned with content, documents, details, and records related to the organizational processes of an enterprise. The purpose is to manage the organization's unstructured information content, with all its diversity of format and location. 2. Collaboration Softwares (Groupware) Collaborative software is software designed to help people involved in a common task achieve their goals.Software systems such as email, calendaring, text chat, wiki, and bookmarking belong to this category.

3. Customer Relationship Softwares 4. Business Intelligence Softwares Business Intelligence (BI) refers to computer-based techniques used in spotting, digging-out, and analyzing business data, such as sales revenue by products and/or departments or associated costs and incomes. Websites With Information Related to Enterprise Intranet Portals http://www.viney.com/DFV/intranet_portal_guide/index.html http://www.prescientdigital.com/articles/intranet-articles/intranet-portal-solutions-dieevolve-move-to-web-2.0/ http://www.intranetjournal.com/articles/200711/ij_11_05_07a.html

Users/Stakeholders The different users & stakeholders of Fractals: Partners (Lord, Master or Whatever you want to call them) Manager (Project or Administrative) HR (Employee Management, Recruiting & Training) Accounts (All things Financial) Marketing Developers Designers Technicians Clients/Customers Observer / Guest (Limited Read-only type access)

Functions of Users/Stakeholders The different functions that will be carried out by each stakeholder on Fractals: 1. Partners Partners (owners of Hash Solutions) are the Supreme Commanders of the organization and as such have full (read and write type) access to any and all functions of any other user/stakeholder in the organization. In addition, business specific functions (eg: business intelligence and analytics) that are not encompased in any other user function may be added to the function of Partners in future as and when the need arises.

2. Manager Different types of managers may have slightly varied functions. The Manager commonly has the following functions: 3. HR The HR functions encompass all functions related to Employee Management, Recruiting as well as Training. Employee Management profiles, resumes, ratings, leave, attendance, salary/C2C Interview Management schedule, sort, manage Questionaire Preparation create, generate, tests Training Management schedule, syllabus, exercises Company Policies current, history, feedback, requests, comments Employee Feedback suggestions, brainstorming

4. Accounts The Accounts function encompass all functions related to Financial Management. Account Management basic accounts Statistics & Analytics reports, charts, forecasts

5. Marketing Marketing encompasses Customer Relationship Management functions as well as Brand Building, Marketing Campaigns, etc. Client Database profile, projects Marketing Campaigns bulk SMS/email, effectiveness Brand Building strategies, discussions, brainstrorming

6. Developers Developers function encompass all functions related to actual development of the technological products. Project Management schedule, tasks, progress, reminders/notifications

Source Code Version Control documentation, search, artifacts, repository Resources tutorials, news, wikis

7. Designers Designer function encompass all functions related to designing and audio/visual arts. Artwork Repository categorize, tags, comments Basic Image Manipulation scale, rotate, crop, etc.

8. Technicians Technician's functions encompass a variety of different needs specific to certain projects as well as internal technical requirements like system administration. Flexible Tables create, update

9. Clients / Customers Clients can view the progress of their project(s), avail support, etc. Project Status progress, ETA, feedback, demos, feature requests Support support tickets, complaints

10. Observer / Guest Temporary users that have very limited access to information. They cannot contribute in anyway. Maybe used for demonstrative purposes. TBD

11. Common / General In addition to specific functions for each department/user-type, common functions will be available that are common to each and every user (with limited exceptions for Observer / Guest user). These might vary slightly for each user type. Messaging inbox, outbox, filtering Notifications reminders, alerts, tasks Chat text, audio, video Social profile, file sharing, personal projects, feedback

Email Integration check mail, send mail Calendar all schedules, appointments Search structured (database), non-structured (documents) Discussion Forums posts, threads, conclusions User Authentication & Access rbac, alternative interfaces (mob, internet, etc) Resources tutorials, news, wikis Collaboration documents, canvas, group chat Toolbar Dashboard Preferences/settings

Fractals User Wheel

Illustration 1: Fractals User Wheel

Function Distribution Table

Functions ~ Company Policies Employee Feedback Employee Management Interview Management Questionairre Preparation Training Management Account Management Statistics & Analysis Client Database Marketing Campaigns Brand Building Project Management Source Code VC Resources Artwork Repository Basic Image Manipulation Flexible Tables Project Status Support Partner Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y L Y Y L L Y Y L L Y Y Y L L L L L L L Manager Y Y L L Y Y Y Y L Y Y L L Y Y Y L L L L L L

Users HR Account Marketing Developer Designer Technician Client L L L L L L

L L L

L L L L

Y Y Y L L Y Y Y Y

L L Y Y Y Y Y Y Y Y L L Y Y Y L L

Common Functions Y

Table 1: Function to User Distribution

Functional Descriptions A. Common Functions i. User Authentication & Access

User authentication will be conducted using a unique combination of username/password values for each user. The username must have a minimum of 5 characters and a maximum of 16 characters in length and the password must have a minimum of 8 with a maximum of 30. The passwords will be stored in the database as hashes. The specific algorithms used for hashing the passwords will consist of first hashing the password along with a salt into a 40-bit md5 hash and then rehashing the md5 hash using the sha256 algorithm to produce a 64-bit hash. Auto login will not be allowed. On logging in, the username and password will be compared with the one's in the DB and the corresponding user is identified. The user's corresponding initial data is also present in the database row, which (in addition to the username and password) consists of: UUID (Unique User ID) User-type / Access-type First Name Last Name Login Datetime Default Homepage

The user will be directed to his default homepage upon successful login. The initial default homepage will be the Dashboard (described later) which can be changed via the settings option. Access controls will be initialized based on the user-type. For security measures, implement login-throttling based on a time-delay along with a combination of reCAPTCHA after more than 5 retries. Do not bind this to a specific user but bind it to system-wide, failed login attempt numbers. ii. Messaging

Users can send messages to any user registered on Fractals using their Username, UUID or First Name/Last Name. Users will have an Inbox as well as Sent Messages storing area. New Messages will be notified to the user in near real-time (as much as possible) using the different notification mechanisms. Messages can be replied to and a thread-based system will be followed to display the original message along with its replies in a heirarchical display for each thread.

iii.

Notifications

Notifications consists of the different alerts, informations and reminders that will generally have to be pushed to the user in near real-time (as much as possible). A collapsible toolbar (described later) below each page will show notification popups which can be closed and retrieved later if needed. The notifications possible are shown below: iv. Chat Admin Alerts Reminders (Calendar, Project Task, etc.) User Sign-in Message, Mail Received (with snippet) Informational Social (described below) posts

Interactive, real-time, browser-based chat will be enabled for all users and can be accessed via the Toolbar. Chat shows the online status of users and clicking on the user will initiate a chatting session with that user. Additional chats can be started or additional users may be invited to an existing chat session to start a group chat session. Future improvements may include audio and video chatting. v. Social

Social features include creating, modifying and viewing user profiles, posting scraps, sharing photos, videos, audios etc. vi. Password Store

A password store will store all the users password as well as provide a common ground for storing passwords that specific user-types can access. The passwords, username and access urls will be stored as two-way encrypted hashes that are salted by the user. vii. Email

Existing email accounts will be integrated with Fractals upon securely entering the username/password of the same. viii. Calendar The calendar will be used for all things concerning dates. Each user will have his own personalized calendar that will show the individuals appointments, schedules, tasks,

reminders, etc. It will have monthly, weekly and daily views. As far as software design considerations go, it must highly responsive in order to function usefully. Direct editing and adding of content must be possible. Calendars or specific items in the calendar will be shareable. ix. Search

Search functions encompass the whole application. It searches both structured (database) as well as unstructured (documents) items in Fractals keeping in mind the access controls and privacy settings of each item. Speed is of the essence. x. Forums

This will be given the last priority in terms of functionality. Forums will be a great place to start discussions and request help. xi. Resources

Resources will contain stuff like tutorials, links, ebooks, video files, audio files, documents, posts, etc. categorized for users with sub-sections for each topic. xii. Collaboration

Collaborative tools will be made available for real-time collaboration among users. These tools will include a canvas for drawing, document editor (text, spreadsheet, presentations), etc. xiii. Toolbar The toolbar is an intuitive little bar that resides on the bottom of each page and will provide quick access to common functionality. It will be highly configurable and will provide a lot of nifty, useful tools. Notifications will be shown via the toolbar and it can be hidden if not required. The toolbar will be completely unobtrusive and will act as a sidekick providing helpful tips. Some of the functions of the toolbar are: Show/store notifications Chat box Online users Scribble pad Calculator tips help feedback registration

Quick message

xiv. Dashboard The dashboard is the initial default homepage and will show summaries of the latest status of all the functions of the user. It will be highly configurable and will show just enough information to give the user a quick overview of the current happenings and required actions if any. These may include tables, charts, snippets and other informationrich, visual elements. xv. Preferences User can set various preferences using the preference page. Available preferences are: Theme: User can select pre-made themes or upload his own CSS file. Default Homepage Toolbar Options: A variety of toolbar options will be available Privacy settings

B. Accounts i. Account Management Accounts are of two types. Personal & Company. Company accounts are shared between all users that have account management privileges. Personal accounts are a user's private account management and can only be accessed by other users if it is explicitly shared for them. Accounts have the following functionality: Income

Income records consist of two types: paid & unpaid. Paid income records generally refer to products and services that are paid immediately with cash, credit card, or direct deposit. Unpaid income records generally refer to products that will be paid for later. Usually 'payment terms' are present for such records that define the period within which the payment has to be paid and percentage-period breakdown of payment. An income record has the following components: Income can be entered using two tabs: Enter Income, to record items payable or paid and Enter Payment, to record payable items as paid. Date

Customer/Project Invoice # Payment Account Income Account Description Quantity Price Applicable Tax (?) Payment Terms (optional)

Expense

Just like Income Records, Expense Records are of two types: paid and unpaid. Expense can be entered using two tabs: Enter Bill and Pay Bill. Date Vendor Bill # Expense Account Quantity Price / Unit Applicable Tax(?) Memo Payment Terms (optional)

Transfer

Transfer money from one account (type) to another. General Ledger

Formatted cash flow ledger following standard norms Stock/Inventory

Track items in stock. ii. Reporting & Analysis Balance Sheet Cash Flow Statement

C. Human Resource i. Candidate Management ii. Training Management iii. Employee Management D. Clients i. ii. iii. iv. Client Database Contact Management & Appointments/Tasks Client Portal Marketing

E. Developers i. Project Management ii. Source Code VCS/Repository iii. Resources F. Designers i. Artwork Repository ii. Basic Image Manipulation iii. Image Search G. Technicians i. Flexi-Tables H. Manager

You might also like