This document provides an overview of the Voicenger software, which allows groups of friends to communicate and make decisions together. It uses a peer-to-peer architecture to allow for high quality voice conversations without overloading a central server. The application consists of client and server components, uses various technologies like JXTA for networking and a database for profile storage. It provides features for chat, voice calls, conferencing, polling, file sharing and social media integration to support organized discussion and decision making.
This document provides an overview of a text recognition software project for Android mobile devices. The project aims to develop an application that can capture an image using a mobile device, localize text regions in the image, recognize the text, and optionally integrate it with applications like translation. Key requirements include capturing images with 2-4 megapixels, localizing text regions on images with homogeneous backgrounds, recognizing printed alphanumeric text in a limited set of fonts, and developing a translation application using the recognized text. Non-functional requirements address performance, safety, security, and software quality attributes like portability, maintainability, and reliability. The document describes the intended users, scope, features, design constraints, and provides detailed functional requirements for the image
The design document contains details about the features, screens, classes, database design, and web services of a software application. It provides tips for designing features, screens, and functions, including defining the building blocks, inputs, outputs, and cases of each. An example application section outlines the application summary, description, and list of features with their associated screens and functions.
The document describes the architectural design process for a Library Circulation System. It includes 4 steps: 1) Representing the system context, 2) Defining archetypes, 3) Refining the architecture into components, and 4) Describing system instantiations. It then covers the component design process, including identifying classes, elaborating classes, describing data sources, and developing behavioral representations. Finally, it discusses the user interface design process, including analyzing users and tasks.
Top 7 system analyst interview questions answerstomhandsome70
This document provides tips and sample answers for common interview questions for a System Analyst position. It discusses how to answer questions about yourself, your strengths, career goals, reasons for leaving previous jobs, weaknesses, knowledge of the organization, and ways you have improved your skills in the last year. For each question, it offers steps and guidelines to effectively structure your response and highlights what information interviewers are looking for. Sample answers are provided as examples.
Project design document template for plan vivo projectsFundación Col
This document provides a template for a Project Design Document (PDD) for projects seeking Plan Vivo certification. The template includes sections for an executive summary, project description, site information, community and livelihood details, project interventions and activities, participation plans, anticipated benefits, technical specifications, risk management, project coordination, benefit sharing, and monitoring plans. Each section provides guidance on the required level of detail and supporting documentation to demonstrate the project meets Plan Vivo standards. The template indicates the typical length of each section and includes examples of tables and annexes to include supporting information.
Voicenger - System Requirements SpecificationVlad Petre
The document is a system requirements specification for an application called Voicenger. It describes the problem the application aims to solve, which is a lack of structured communication tools for planning and decision making between friends. The solution proposed is a software application that combines features of chat, voice, and social networking applications. It allows users to register, add friends, participate in group chats, call friends, and update their social media statuses. The functional requirements define the user profiles and describe use cases. The system architecture has client and server components. Non-functional requirements address the interface, performance, availability and testing.
Oop final project documentation jose pagan v2.1Jose Pagan
The document provides an overview of the Event Driven Process Manager software architecture. It describes the software's purpose for managing tasks through event processing. The architecture is organized using Kruchten's "4+1" view model, with sections devoted to the logical view, process view, deployment view, and implementation view. Key classes are also outlined for managing the application, security, errors, and data access through an interface to a SQL database.
This document provides advice and sample responses for common interview questions. It suggests keeping responses concise and focused on relevant skills and accomplishments. For the question "tell me about yourself", it recommends a 60-second biographical sketch highlighting interests, skills and accomplishments related to the position. Sample responses are provided for other common questions about goals, weaknesses, failures, reasons for success and why the interviewer should hire the candidate over others. The document stresses staying positive and relating responses back to the role and company.
This document provides an overview of a text recognition software project for Android mobile devices. The project aims to develop an application that can capture an image using a mobile device, localize text regions in the image, recognize the text, and optionally integrate it with applications like translation. Key requirements include capturing images with 2-4 megapixels, localizing text regions on images with homogeneous backgrounds, recognizing printed alphanumeric text in a limited set of fonts, and developing a translation application using the recognized text. Non-functional requirements address performance, safety, security, and software quality attributes like portability, maintainability, and reliability. The document describes the intended users, scope, features, design constraints, and provides detailed functional requirements for the image
The design document contains details about the features, screens, classes, database design, and web services of a software application. It provides tips for designing features, screens, and functions, including defining the building blocks, inputs, outputs, and cases of each. An example application section outlines the application summary, description, and list of features with their associated screens and functions.
The document describes the architectural design process for a Library Circulation System. It includes 4 steps: 1) Representing the system context, 2) Defining archetypes, 3) Refining the architecture into components, and 4) Describing system instantiations. It then covers the component design process, including identifying classes, elaborating classes, describing data sources, and developing behavioral representations. Finally, it discusses the user interface design process, including analyzing users and tasks.
Top 7 system analyst interview questions answerstomhandsome70
This document provides tips and sample answers for common interview questions for a System Analyst position. It discusses how to answer questions about yourself, your strengths, career goals, reasons for leaving previous jobs, weaknesses, knowledge of the organization, and ways you have improved your skills in the last year. For each question, it offers steps and guidelines to effectively structure your response and highlights what information interviewers are looking for. Sample answers are provided as examples.
Project design document template for plan vivo projectsFundación Col
This document provides a template for a Project Design Document (PDD) for projects seeking Plan Vivo certification. The template includes sections for an executive summary, project description, site information, community and livelihood details, project interventions and activities, participation plans, anticipated benefits, technical specifications, risk management, project coordination, benefit sharing, and monitoring plans. Each section provides guidance on the required level of detail and supporting documentation to demonstrate the project meets Plan Vivo standards. The template indicates the typical length of each section and includes examples of tables and annexes to include supporting information.
Voicenger - System Requirements SpecificationVlad Petre
The document is a system requirements specification for an application called Voicenger. It describes the problem the application aims to solve, which is a lack of structured communication tools for planning and decision making between friends. The solution proposed is a software application that combines features of chat, voice, and social networking applications. It allows users to register, add friends, participate in group chats, call friends, and update their social media statuses. The functional requirements define the user profiles and describe use cases. The system architecture has client and server components. Non-functional requirements address the interface, performance, availability and testing.
Oop final project documentation jose pagan v2.1Jose Pagan
The document provides an overview of the Event Driven Process Manager software architecture. It describes the software's purpose for managing tasks through event processing. The architecture is organized using Kruchten's "4+1" view model, with sections devoted to the logical view, process view, deployment view, and implementation view. Key classes are also outlined for managing the application, security, errors, and data access through an interface to a SQL database.
This document provides advice and sample responses for common interview questions. It suggests keeping responses concise and focused on relevant skills and accomplishments. For the question "tell me about yourself", it recommends a 60-second biographical sketch highlighting interests, skills and accomplishments related to the position. Sample responses are provided for other common questions about goals, weaknesses, failures, reasons for success and why the interviewer should hire the candidate over others. The document stresses staying positive and relating responses back to the role and company.
The document describes a scenario where a systems analyst has been hired to design a new ICT system for Dar Es Salaam High School after several smaller schools merged. The current systems need to be analyzed and a new system designed that can produce hundreds of reports quickly and find individual records efficiently. As part of the design process, the analyst will need to include key items and factors that influence their choice. Technical and program documentation will also need to be created to support the new system design.
A design document is like a training plan contract. A design document should be used as a tool to capture and refine your initial thoughts, align them with stakeholders and to get sign off on the plan in order to avoid unnecessary re-work. Use this template, customize it to your needs and good luck with your training initiative!
This template is beneficial for especially for trainers, instructional designers and anyone who needs to align a training plan with stakeholders.
Software Architecture Document | Part 1Habibur Rony
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms for those who already suffer from conditions like depression and anxiety.
Få succes med dit SharePoint intranet
IntraActive intranet gør det nemt for dig at etablere og videreudvikle dit intranet
IntraActive intranet samler de mest anvendte intranetkomponenter i én løsning, som nemt kan tilpasses din virksomheds behov.
Med vores velafprøvede implementeringsproces kommer I trygt i luften med jeres nye intranet - hurtigt og effektivt.
Med kombinationen af IntraActive og vores veldefinerede proces får du et køreklart intranet inden for et overskueligt budget.
IntraActive intranet udvides løbende med ny funktionalitet og nye apps baseret på vores kunders ønsker og behov.
This blueprint outlines the specifications for a project and consists of six sections: project specifications, standard features, design strategy, technical specifications, media standards, and project management. It provides details on the intended audience, learning objectives, deliverables, content organization, assessment methods, and technical requirements. The blueprint serves as a reference for developing a consistent and engaging learning experience.
The document provides specifications for managing safety documents within a new document management system. It outlines requirements for the Livelink system, including modules, folder structure and permissions. Extensive details are provided on workflow designs to automate document revision and approval processes. Metadata fields and categories for documents are defined. Search and reporting functions within Livelink are designed to allow staff to locate documents. The specifications aim to facilitate reduced duplication, easier document location and management of document lifecycles through automated workflows.
This document describes an internet cafe management system that allows cafe owners to customize rates, track client configurations and accounts, generate various reports, and maintain customer and transaction records. The system provides functionality for prepaid accounts, extra services, cafe schemes, system status checking, cash counting, and communication with customers.
This document describes a routine management system project for a college. It was submitted by 5 students to fulfill the requirements for a Bachelor of Technology degree. The project involved developing a system to manage student and faculty timetables and schedules. It provides an overview of the system, outlines the activities for administrators, faculty and students. It also describes the software quality assurance plan, system analysis, requirements specification, architectural design, implementation, and maintenance of the system. The overall goal was to create a secure and flexible environment for managing academic records at the college.
Project Management System SharePoint Apps by adapt embeds all the necessary features required to achieve efficient Project Management and is suitable for EPC, Manufacturing & Service Industries.manage all your documents.and communication centrally and foster seamless callaboration,allocate budgets for various categories including manpower and material.
Software Architecture Document | Part 2Habibur Rony
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help boost feelings of calmness, happiness and focus.
A project is a temporary endeavor undertaken to create a unique product, service or result. Projects can vary in size and duration. The Denver International Airport project faced challenges including changing requirements, cost overruns, delays and technical issues that led to it being over budget and behind schedule. Successful project management requires balancing scope, time and cost, and relies on skills such as leadership, communication and problem solving. The Project Management Institute provides standards and certifications to disseminate best practices. Project managers must coordinate teams and resources to deliver projects successfully.
This document discusses managing project documents. It defines key terms like documents, document management, and records management. It describes the typical document life cycle and provides examples of common project document types. It discusses classifying documents, advantages and disadvantages of documentation, and the impact of poor document management. It emphasizes selecting the optimal set of documents for a project and considers document management tools that can help project managers.
UX & UI Design : les tendances pour 2017NiceToMeetYou
Si la seule constante du digital est le changement, il en va de même pour tout ce qui touche au Design d'interface et d'expérience utilisateur. Découvrez un aperçu de 2017 avec nos apprentissages et nos insights pour évoluer face aux nouveaux challenges UX et UI : rituels collaboratifs, outils de conception et nouveaux terrains de jeu numériques (AR / VR, Objets Connectés, Progressive Web Apps...).
Building a Project Management Information System with SharePointASPE, Inc.
More and more successful project managers are utilizing SharePoint 2007 to drive their projects and operational initiatives. Out of the box, SharePoint Server offers many features that lends itself to effectively managing projects. Lists and libraries allow you to consolidate and manage project information in a central place, while business intelligence features allow you to report on that information in real-time. By utilizing SharePoint along with other business tools such as the Microsoft Office suite of applications, oraganization can create a customized Project Management Information System (PMIS) to assist with the daily management of enterprise projects.
With this webinar we would like to discuss the many benefits of using SharePoint Server as a Project Management Information system, including:
· Using SharePoint to manage project data
· Consolidating project data using SharePoint libraries
· Reporting on project data using SharePoint’s business intelligence
· Automating project tasks with SharePoint workflows
· Options to extending SharePoint’s project managemenet capabilities
The document provides an overview of software design concepts including architectural design, design choices, structure designs, repository designs, client-server designs, layered designs, control models, design entities, software design processes, design methods, formal design approaches, and unified modeling language (UML) diagrams. It discusses topics such as decomposition, interfaces, performance, security, and maintainability as they relate to software design.
The document describes the software architecture of Voicenger, an application for structured group communication. It uses a peer-to-peer architecture with client and server components to allow high quality voice chatting. The client has interfaces for the user interface, peer communication, and profile storage on the server. Key high-level modules include the GUI, file processing, sound, messaging, and interfaces to the JXTA peer network and backend database. Use cases cover user registration, chat, file sharing, and integrating with social networks. Appendices provide more details on data transfer and message rendering.
The Great Mind Challenge'12
VOICE BASED WEB BROWSER
This document covers the functional and non-functional requirements of the
Voice-Based Web Browser including the physical description of the system as well as the
behavioral and other factors necessary to provide a complete and comprehensive
description of the Voice-Based Web Browser.
This document describes a desktop voice assistant application that allows users to control their computer using voice commands. It discusses the key components of the voice assistant, including speech recognition to convert voice to text, natural language understanding to interpret commands, task execution to carry out actions, and text-to-speech to respond to the user verbally. The advantages of voice assistants are provided, such as hands-free operation and accessibility, as well as current limitations. Suggested improvements are outlined like supporting additional languages and offline functionality. Details of the proposed system architecture and user interface are presented.
This document provides requirements for the Virtual-EDU system being developed for NJIT. It outlines features such as instant messaging, audio/video streaming, customizable user profiles, virtual spaces for collaboration, online testing capabilities, and an improved user interface. The system is being designed to enable more effective communication between professors and students through a secure online platform. The document is intended to ensure both the development team and NJIT understand all agreed upon requirements to build Virtual-EDU.
Web Collaboration for Software Engineering (Msc Thesis)Tiago Teixeira
Msc thesis, written in English.
Main contents are:
- Research on CSCW, Groupware, Social Software and Software Engineering
- Analysis of 47 Software Engineering tools (categories: Bug Tracking, Collaboration, Construction, Design, Engineering Management, and Requirements)
- Web prototype developed in Ruby on Rails web framework. Includes screenshots of the plugins.
- Experiment for testing the prototype
It was written at Faculdade de Engenharia da Universidade do Porto (FEUP), programme Master in Informatics and Computing Engineering (MIEIC).
The seminar discusses a smart note taker pen that allows users to write notes in thin air that are then digitally stored. It recognizes handwriting in 22 languages and instantly converts notes to editable text files. The pen contains sensors to detect 3D shapes and motions and stores information in an onboard memory chip. When docked, the pen transmits the handwritten notes via an internet connection to computers or mobile devices for viewing and sharing. Key features include its usefulness for note taking, presentations, phone calls where figures are needed, and its compatibility with graphics software after conversion to digital text.
The document describes a scenario where a systems analyst has been hired to design a new ICT system for Dar Es Salaam High School after several smaller schools merged. The current systems need to be analyzed and a new system designed that can produce hundreds of reports quickly and find individual records efficiently. As part of the design process, the analyst will need to include key items and factors that influence their choice. Technical and program documentation will also need to be created to support the new system design.
A design document is like a training plan contract. A design document should be used as a tool to capture and refine your initial thoughts, align them with stakeholders and to get sign off on the plan in order to avoid unnecessary re-work. Use this template, customize it to your needs and good luck with your training initiative!
This template is beneficial for especially for trainers, instructional designers and anyone who needs to align a training plan with stakeholders.
Software Architecture Document | Part 1Habibur Rony
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms for those who already suffer from conditions like depression and anxiety.
Få succes med dit SharePoint intranet
IntraActive intranet gør det nemt for dig at etablere og videreudvikle dit intranet
IntraActive intranet samler de mest anvendte intranetkomponenter i én løsning, som nemt kan tilpasses din virksomheds behov.
Med vores velafprøvede implementeringsproces kommer I trygt i luften med jeres nye intranet - hurtigt og effektivt.
Med kombinationen af IntraActive og vores veldefinerede proces får du et køreklart intranet inden for et overskueligt budget.
IntraActive intranet udvides løbende med ny funktionalitet og nye apps baseret på vores kunders ønsker og behov.
This blueprint outlines the specifications for a project and consists of six sections: project specifications, standard features, design strategy, technical specifications, media standards, and project management. It provides details on the intended audience, learning objectives, deliverables, content organization, assessment methods, and technical requirements. The blueprint serves as a reference for developing a consistent and engaging learning experience.
The document provides specifications for managing safety documents within a new document management system. It outlines requirements for the Livelink system, including modules, folder structure and permissions. Extensive details are provided on workflow designs to automate document revision and approval processes. Metadata fields and categories for documents are defined. Search and reporting functions within Livelink are designed to allow staff to locate documents. The specifications aim to facilitate reduced duplication, easier document location and management of document lifecycles through automated workflows.
This document describes an internet cafe management system that allows cafe owners to customize rates, track client configurations and accounts, generate various reports, and maintain customer and transaction records. The system provides functionality for prepaid accounts, extra services, cafe schemes, system status checking, cash counting, and communication with customers.
This document describes a routine management system project for a college. It was submitted by 5 students to fulfill the requirements for a Bachelor of Technology degree. The project involved developing a system to manage student and faculty timetables and schedules. It provides an overview of the system, outlines the activities for administrators, faculty and students. It also describes the software quality assurance plan, system analysis, requirements specification, architectural design, implementation, and maintenance of the system. The overall goal was to create a secure and flexible environment for managing academic records at the college.
Project Management System SharePoint Apps by adapt embeds all the necessary features required to achieve efficient Project Management and is suitable for EPC, Manufacturing & Service Industries.manage all your documents.and communication centrally and foster seamless callaboration,allocate budgets for various categories including manpower and material.
Software Architecture Document | Part 2Habibur Rony
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help boost feelings of calmness, happiness and focus.
A project is a temporary endeavor undertaken to create a unique product, service or result. Projects can vary in size and duration. The Denver International Airport project faced challenges including changing requirements, cost overruns, delays and technical issues that led to it being over budget and behind schedule. Successful project management requires balancing scope, time and cost, and relies on skills such as leadership, communication and problem solving. The Project Management Institute provides standards and certifications to disseminate best practices. Project managers must coordinate teams and resources to deliver projects successfully.
This document discusses managing project documents. It defines key terms like documents, document management, and records management. It describes the typical document life cycle and provides examples of common project document types. It discusses classifying documents, advantages and disadvantages of documentation, and the impact of poor document management. It emphasizes selecting the optimal set of documents for a project and considers document management tools that can help project managers.
UX & UI Design : les tendances pour 2017NiceToMeetYou
Si la seule constante du digital est le changement, il en va de même pour tout ce qui touche au Design d'interface et d'expérience utilisateur. Découvrez un aperçu de 2017 avec nos apprentissages et nos insights pour évoluer face aux nouveaux challenges UX et UI : rituels collaboratifs, outils de conception et nouveaux terrains de jeu numériques (AR / VR, Objets Connectés, Progressive Web Apps...).
Building a Project Management Information System with SharePointASPE, Inc.
More and more successful project managers are utilizing SharePoint 2007 to drive their projects and operational initiatives. Out of the box, SharePoint Server offers many features that lends itself to effectively managing projects. Lists and libraries allow you to consolidate and manage project information in a central place, while business intelligence features allow you to report on that information in real-time. By utilizing SharePoint along with other business tools such as the Microsoft Office suite of applications, oraganization can create a customized Project Management Information System (PMIS) to assist with the daily management of enterprise projects.
With this webinar we would like to discuss the many benefits of using SharePoint Server as a Project Management Information system, including:
· Using SharePoint to manage project data
· Consolidating project data using SharePoint libraries
· Reporting on project data using SharePoint’s business intelligence
· Automating project tasks with SharePoint workflows
· Options to extending SharePoint’s project managemenet capabilities
The document provides an overview of software design concepts including architectural design, design choices, structure designs, repository designs, client-server designs, layered designs, control models, design entities, software design processes, design methods, formal design approaches, and unified modeling language (UML) diagrams. It discusses topics such as decomposition, interfaces, performance, security, and maintainability as they relate to software design.
The document describes the software architecture of Voicenger, an application for structured group communication. It uses a peer-to-peer architecture with client and server components to allow high quality voice chatting. The client has interfaces for the user interface, peer communication, and profile storage on the server. Key high-level modules include the GUI, file processing, sound, messaging, and interfaces to the JXTA peer network and backend database. Use cases cover user registration, chat, file sharing, and integrating with social networks. Appendices provide more details on data transfer and message rendering.
The Great Mind Challenge'12
VOICE BASED WEB BROWSER
This document covers the functional and non-functional requirements of the
Voice-Based Web Browser including the physical description of the system as well as the
behavioral and other factors necessary to provide a complete and comprehensive
description of the Voice-Based Web Browser.
This document describes a desktop voice assistant application that allows users to control their computer using voice commands. It discusses the key components of the voice assistant, including speech recognition to convert voice to text, natural language understanding to interpret commands, task execution to carry out actions, and text-to-speech to respond to the user verbally. The advantages of voice assistants are provided, such as hands-free operation and accessibility, as well as current limitations. Suggested improvements are outlined like supporting additional languages and offline functionality. Details of the proposed system architecture and user interface are presented.
This document provides requirements for the Virtual-EDU system being developed for NJIT. It outlines features such as instant messaging, audio/video streaming, customizable user profiles, virtual spaces for collaboration, online testing capabilities, and an improved user interface. The system is being designed to enable more effective communication between professors and students through a secure online platform. The document is intended to ensure both the development team and NJIT understand all agreed upon requirements to build Virtual-EDU.
Web Collaboration for Software Engineering (Msc Thesis)Tiago Teixeira
Msc thesis, written in English.
Main contents are:
- Research on CSCW, Groupware, Social Software and Software Engineering
- Analysis of 47 Software Engineering tools (categories: Bug Tracking, Collaboration, Construction, Design, Engineering Management, and Requirements)
- Web prototype developed in Ruby on Rails web framework. Includes screenshots of the plugins.
- Experiment for testing the prototype
It was written at Faculdade de Engenharia da Universidade do Porto (FEUP), programme Master in Informatics and Computing Engineering (MIEIC).
The seminar discusses a smart note taker pen that allows users to write notes in thin air that are then digitally stored. It recognizes handwriting in 22 languages and instantly converts notes to editable text files. The pen contains sensors to detect 3D shapes and motions and stores information in an onboard memory chip. When docked, the pen transmits the handwritten notes via an internet connection to computers or mobile devices for viewing and sharing. Key features include its usefulness for note taking, presentations, phone calls where figures are needed, and its compatibility with graphics software after conversion to digital text.
This document describes the Cube_it! software, which transforms statistical datasets from Excel files into linked data using the Data Cube vocabulary. It outlines the software's functions, which include importing Excel files, detecting dimensions and values, creating data cube models, and outputting RDF. The document provides examples of user input for an Excel file with dimensions like location and explains the software's logic, such as parsing the file, detecting dimension values by querying a triple store, and generating the data cube model resources and observations. Cube_it! aims to automate the creation of linked data from existing statistical datasets to make the data easier to access and link to other web resources.
This document is a project report for a chat server application with file and desktop sharing capabilities. It was created by three students - Khagendra Kumar Chapre, Akhil Pal, and Manauwar Alam - as a partial fulfillment of their Bachelor of Technology degree at the Government Engineering College in Bikaner, Rajasthan, India. The report documents the design, development and testing of a chat server that allows users to chat, share files, and share their desktop screens. It includes sections on introduction, literature review, requirements, architectural design, testing and results.
Design and Development of a Knowledge Community SystemHuu Bang Le Phan
The document is a dissertation submitted by Le Phan Huu Bang to the Department of Computer Science at the National University of Singapore in 2008/2009 describing the design and development of a Knowledge Community System (K-Comm). The dissertation includes chapters on introducing knowledge and the need for knowledge sharing, reviewing existing literature, providing an overview of the K-Comm system and its features, and describing the implementation of K-Comm.
It is voice based Assistant ppt presentation to help user for their project formation and module description information. A voice assistant is a technology based on artificial intelligence. The software uses a device’s microphone to receive voice requests while the voice output takes place at the speaker. But the most exciting thing happens between these two actions.
It is a combination of several different technologies: voice recognition, voice analysis and language processing.
It is completely developed using one of the most powerful language python.
Applications
Voice assistant applications have been making lives easier by providing custom services based on voice commands. We help businesses to utilize this technology to expand their functionality and streamline their business operations with efficiency.
We utilize voice assistant applications to deliver intuitive, automated experiences and build customer engagement.
DASHBOARD REPORTS
We enable you to track your business performance and better understand your data on your dashboard assistant to discover valuable insights in real-time.
USER-CENTERED SUPPORT
Allow your users to navigate and ask questions with ease. Our in-app voice assistant supports users by responding to their inquiries in real-time.
Scope
The voice assistant application market is projected to grow at 27.3% CAGR during the forecast period of 2021-2026.
A voice assistant is primarily a digital assistant built upon using AI, machine learning, and voice recognition technologies. 1. Customer satisfaction When it comes to determining the effectiveness of voice assistants in customer service, client happiness is essential.
2. Completion rate Voice chat assists in the reduction of customer service tickets.
3. Return on investment
A virtual voice assistant is a software agent that can interpret human speech and respond via
synthesis voices. It is a tool for search, for reminders and to write notes just by speaking it up. Voice
Window assistant is used to create voice apps for intelligent assistant when user needs to open any
other application or for any searching purposes, he can use the command open. It will detect the
speech and save it in database. This device created to take inputs either from commands or from
microphone. ASR(Automatic speech recognition) is the main principle behind the working of
AIbased voice assistant. ASR systems, at first it records the speech then the wave file has been
created by device Then give the output which we want. User can do lot of tasks with this assistants
like they can ask questions, they can ask them to do particular tasks like send on gmail , play songs
etc. This system is being designed in such a way that all the services provided by mobile devices are
accessible by end user on the user voice commands. These voice assistant are embedded in
smartphones or in the form of speakers at home. It communicates with the user in natural language.
1 Social
Highly Engaging
This document is a project report submitted by Anjeet Kumar for the development of an Intranet Database. It discusses building a website hosted on the local college server that students and staff can use to access resources like eBooks, past papers, lectures, videos and software stored in the college database. The website will require usernames and passwords for authentication. The project report outlines the features and benefits of an Intranet Database for easy and centralized access to digital resources within an organization. It also discusses the hardware, software and technical requirements to set up the Intranet Database system.
This document describes a virtual personal assistant created by students at Priyadarshini College of Engineering. It discusses the implementation of the assistant using Python programming language and key technologies like artificial intelligence and machine learning. The assistant is able to understand voice commands, answer questions, and complete basic tasks through integration of speech recognition, text-to-speech, and other libraries. The document outlines the hardware and software requirements and provides examples of how such a voice assistant could potentially be used in applications like customer service, education, and shopping.
This document outlines the key aspects of a proposed system called Share Snippets. It includes sections on introduction and purpose, existing and proposed systems, requirements analysis, architecture, design, and conclusions. The proposed system aims to create a community for users to share digital content such as books, software, songs and videos in one place. It analyzes functional and non-functional requirements, outlines the technical architecture using web services and Flex, and provides design diagrams including use case diagrams and class diagrams.
This document is the preface to a book on software engineering technologies with a focus on web applications. It provides an overview of the book's contents and approach. The book is designed for upper-division undergraduate and graduate courses in software engineering and is intended to focus on core concepts rather than being a reference. It includes code examples in Java and is organized into two parts, with the first covering basic object-oriented software engineering concepts and the second focusing on technologies for web applications.
The document provides details about a crime file project developed using Microsoft Access 2007 and Visual Basic 6.0. The project aims to computerize the manual crime records management system of a police department. Key features of the project include complaint registration, criminal registration, FIR management, case history management, and most wanted criminal lists. The project uses Visual Basic as the front-end interface and Microsoft Access as the back-end database.
Back-end and front-end development are two distinct but interconnected components of web development. Understanding their differences and roles is fundamental for anyone entering the field.
Audio computing Image to Text Synthesizer - A Cutting-Edge Content Generator ...IRJET Journal
The document describes an image to text synthesizer application that can extract text from images using optical character recognition (OCR) and convert it to audio, different languages, or handwritten notes. It uses technologies like Tesseract for OCR, Firebase for cloud storage, Google Translate for translations, and gTTS and PyWhatKit for text-to-speech and handwriting conversion. The application aims to help visually impaired people access text and illiterate people understand different languages by converting images to editable, translated and audio forms of text. It achieved over 85% accuracy on a test set of 100 images.
The document describes a smart note taker product that allows users to take notes by writing in the air. The notes are sensed and stored digitally. Key features include allowing blind users to write freely, and enabling instructors to write notes during presentations that are broadcast to students. It works using sensors to detect 3D writing motions, which are processed, stored, and can be viewed on a display or sent to other devices. An applet program and database are used to recognize words written in the air and print them. The smart note taker offers advantages over digital pens like ease of use and time savings.
The document discusses multimedia authoring tools and paradigms. Multimedia authoring tools provide frameworks for organizing and editing project elements and combining content and functions. They enable importing and editing of data. Common features of authoring tools include editing, programming, interactivity, performance tuning, and delivery features. Popular authoring tools mentioned include Macromedia Authorware, Director, and Flash. Authoring paradigms or metaphors include the scripting language, slide show, hierarchical, iconic/flow-control, frames, card/scripting, and cast/score metaphors.
This document discusses multimedia authoring tools and paradigms. It defines multimedia authoring as the process of creating multimedia applications and notes that authoring tools provide frameworks for organizing, editing, and combining project elements. The document outlines several authoring paradigms including scripting language, slide show, hierarchical, iconic/flow-control, frames, card/scripting, and cast/score metaphors. It also describes common features of authoring tools such as editing, programming, interactivity, performance, and delivery capabilities.
Similar to Voicenger - Software Design Document (20)
Un articol despre SSD-uri scris in octombrie 2010 pentru o revista, pe nume Console, al carui prim numar nu a mai reusit sa vada niciodata lumina zilei.
Bibliografie:
http://www.anandtech.com/show/2738
http://www.anandtech.com/show/2829
http://www.anandtech.com/show/2614
http://en.wikipedia.org/wiki/Solid-state_drive
The document discusses the 3-D Secure protocol, which was created by Visa in 2001 to add security to online credit card transactions. It does this through an authentication step where the cardholder authenticates themselves with their card-issuing bank during the transaction. The protocol uses XML messages over SSL and a three-domain model including the issuer, acquirer, and interoperability domains. It provides advantages like reduced fraud and increased customer satisfaction but also has disadvantages like potential for phishing and incompatibility with some mobile browsers. Overall, the 3-D Secure protocol has become an industry standard despite some limitations.
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
[Curs Android] C04 - User Interface (IPW 2011)Vlad Petre
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
The document describes a team from Politehnica University of Bucharest called Team Bucharest, consisting of 4 members, that is participating in the Suceava Hard&Soft 2011 competition. Their project involves creating an off-grid home automation system that monitors available energy from alternative sources, uses smart plugs and light dimmers to adjust automatically based on the energy levels, and aims to use energy efficiently with low-power components and profile-based settings. A system diagram is also included.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/how-axelera-ai-uses-digital-compute-in-memory-to-deliver-fast-and-energy-efficient-computer-vision-a-presentation-from-axelera-ai/
Bram Verhoef, Head of Machine Learning at Axelera AI, presents the “How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-efficient Computer Vision” tutorial at the May 2024 Embedded Vision Summit.
As artificial intelligence inference transitions from cloud environments to edge locations, computer vision applications achieve heightened responsiveness, reliability and privacy. This migration, however, introduces the challenge of operating within the stringent confines of resource constraints typical at the edge, including small form factors, low energy budgets and diminished memory and computational capacities. Axelera AI addresses these challenges through an innovative approach of performing digital computations within memory itself. This technique facilitates the realization of high-performance, energy-efficient and cost-effective computer vision capabilities at the thin and thick edge, extending the frontier of what is achievable with current technologies.
In this presentation, Verhoef unveils his company’s pioneering chip technology and demonstrates its capacity to deliver exceptional frames-per-second performance across a range of standard computer vision networks typical of applications in security, surveillance and the industrial sector. This shows that advanced computer vision can be accessible and efficient, even at the very edge of our technological ecosystem.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
1. POLITEHNICA University of Bucharest, Romania
Computer Science Department
Voicenger
Software Design Document
Final version: 16th May 2010
Prepared by: Supervisor:
Andreica Cristian Egner Alexandru
Goge Oana-Alina
Petre Vlad-Stefan
Serbanescu Vlad-Nicolae
2. Voicenger - Software Design Document
Table of Contents
1 Technologies Used ............................................................................................................... 1
1.1 Context ..................................................................................................................................................1
1.2 Requirements .........................................................................................................................................1
1.3 Application Structure ............................................................................................................................1
1.4 Client Component..................................................................................................................................2
1.4.1 UI (User Interface) ........................................................................................................................ 2
1.4.2 Peer Communication Interface (networking) ................................................................................ 3
1.4.3 Server communication Interface (profile storage) ......................................................................... 3
1.5 Server Component .................................................................................................................................3
1.6 Database Storage ...................................................................................................................................3
1.7 External Libraries ..................................................................................................................................3
1.8 Development Environment....................................................................................................................4
2 High Level Modules .............................................................................................................. 5
2.1 GUI/ GUI Controller .............................................................................................................................5
2.2 File Processor/ File Packager ................................................................................................................5
2.3 Sound .....................................................................................................................................................6
2.4 String Processing ...................................................................................................................................6
2.5 Message Renderer .................................................................................................................................6
2.6 JXTA Peer .............................................................................................................................................6
2.7 JXTA Server ..........................................................................................................................................7
2.8 Database ................................................................................................................................................7
2.9 Twitter/Facebook Server .......................................................................................................................7
3 Use Cases .............................................................................................................................. 8
3.1 Register..................................................................................................................................................8
3.2 Log In ....................................................................................................................................................8
3.3 Log Out .................................................................................................................................................8
3.4 Add a Friend ..........................................................................................................................................8
3.5 Delete a Friend ......................................................................................................................................9
3.6 Ignore a Friend ......................................................................................................................................9
3.7 Edit Profile ............................................................................................................................................9
3.8 One-on-One Chat ..................................................................................................................................9
3.9 Call a Friend ........................................................................................................................................10
3.10 Initiate a Conference Chat ...................................................................................................................10
3.11 Set a Discussion Topic ........................................................................................................................10
3.12 Create a Poll inside a Conference ........................................................................................................10
3.13 Send a File ...........................................................................................................................................11
3.14 Add a Textual Image ...........................................................................................................................11
3.15 Tagging while in Conference ..............................................................................................................11
3.16 Update Facebook Status ......................................................................................................................11
3.17 Update Twitter Status ..........................................................................................................................11
4 Appendices .......................................................................................................................... 12
4.1 Data Send ............................................................................................................................................12
4.2 Data Receive........................................................................................................................................13
4.3 Server Communication ........................................................................................................................14
4.4 Message Renderer ...............................................................................................................................15
I
3. Voicenger - Software Design Document
1 Technologies Used
1.1 Context
Voicenger is a software application which solves the problem of taking decisions inside groups of
friends. It wants to offer a structured mean of communication, where the conference is topic-based,
focused on planning and delivering results to the whole decision process. The functionality of
Voicenger is split into several components and features, all designed to ensure an accurate,
structured and efficient application for discussing and sharing ideas and plans in an organized and
easy to use environment.
This application combines the features of websites used for socializing and entertainment with the
benefits of a chat and voice application. This will increase efficiency in a chat environment. It will
provide features based on intuition that will help users to logically structure the discussion when
engaged in a conference window, to easily debate on a subject and quickly take decisions.
1.2 Requirements
Voicenger is designed as a communication tool for groups of people. A minimum viable product
should allow the users to chat, both using text messages and voice. The conversation can be easily
enriched if we add features like polling and tagging inside conferences, textual imaging & file send
operations.
Each user has it's own profile, that should be persisted between different logins.
1.3 Application Structure
The decision for which application structure to opt for, client-server architecture vs peer-to-peer
architecture was heavily influenced by the performances need of the application. Voicenger must be
able to allow its users to talk with each other at a very high quality.
A client-server architecture means higher load on the server component. In order to manage high
voice data throughput, the hardware requirements would include an extreme server machine with
Gigabit Ethernet connection with no traffic restrictions whatsoever.
A peer-to-peer architecture eases the server load, by charging the client machines. Nowadays, the
usual applications that run on a computer hardly turn its workload to 50% of the capacity, which
means an extra 5% is barely visible. The disadvantage of such frameworks is that some computers
are not accessible into public networks, due to NAT or proxy situations.
For choosing the best option, we couldn't allow either a full client-server architecture, neither a full
peer-to-peer architecture. The current approach is to use a peer-to-peer architecture for managing
full intensive traffic operations, such as voice data transfer, but to use a centralized authority for
storing user profiles and other persistent data.
Page 1 of 15
4. Voicenger - Software Design Document
1.4 Client Component
Each client application is seen as part of the peer-to-peer architecture.
Structure:
UI (user interface);
Peer Communication Interface (networking);
Server Communication Interface (profile storage).
1.4.1 UI (User Interface)
The client application is entirely developed in Java programming language, which benefits from its
high-level object-oriented approach. For visual components and user interaction, we used Swing,
the widget toolkit from SUN which is integrated into the SDK.
Documentation on each of the Swing components used or any of the layout managers can be found
at http://java.sun.com/docs/books/tutorial/uiswing/.
Page 2 of 15
5. Voicenger - Software Design Document
1.4.2 Peer Communication Interface (networking)
JXTA (Juxtapose) is an open-source peer-to-peer protocol specification begun by Sun
Microsystems in 2001. The JXTA protocols are defined as a set of XML messages which allow any
device connected to a network to exchange messages and collaborate independently of the
underlying network topology.
As JXTA is based upon a set of open XML protocols, it can be implemented in any modern
computer language. Implementations are currently available for Java SE,C/C++, C# and Java ME.
Voicenger uses a Java implementation for the JXTA protocol. This allows the application to easily
resolve network problems such as bypassing NAT or proxy communication.
The JXTA implementation and documentation can be found at https://jxta.dev.java.net/.
1.4.3 Server communication Interface (profile storage)
The server component in Voicenger is also a peer in the peer-to-peer architecture. Thus, the
communication between client-server is resolved using JXTA protocol.
1.5 Server Component
Besides from being a peer in the JXTA protocol, the server components must handle all the user-
profiles. For internal storage, we used MySQL database system, which is open-source, published
under the GPL license.
1.6 Database Storage
MySQL is a relational database management system (RDBMS) that runs as a server providing
multi-user access to a number of databases. Voicenger uses MySQL databases for storing
information related to user profiles, friends, statuses or any persistent data.
1.7 External Libraries
Voicenger uses 2 external libraries:
a MySQL connector, that allows the application to query SQL commands into the database;
the JXTA implementation in Java, so that we solve peer-to-peer network problems (NAT,
proxy).
The MySQL connector library can be downloaded
from http://www.mysql.com/products/connector/.
Page 3 of 15
6. Voicenger - Software Design Document
1.8 Development Environment
The primary IDE we use is Eclipse 3.5. All the members of our team have had many experiences
with this IDE, being proven as the most efficient in collaborative environments.
Page 4 of 15
7. Voicenger - Software Design Document
2 High Level Modules
2.1 GUI/ GUI Controller
Role: The GUI provides the user interface for using the Voicenger application. It contains all the
components for voice communication, sending text messages or files of any type.
The GUI controller receives data in the form of a Message on its components and determines the
tab it displays the message or file send request according to the ArrayList field of the message
(there can only be one voice connection at any time so there no need to determine from where a
voice message is received).
As its role is to provide a user interfaces the GUI solely depends on the actions of the user.
The GUI controller depends on the JXTA peer module to deliver data in the form of Messages send
via the peer-to-peer connection.
The following modules depend on GUI:
The File Processor/File Packager module receives the selected file in the GUI when the
"SendFileButton" component of the GUI is pressed;
The String Processing module refers to the data introduced in the "TextBox" component of
the GUI;
The Sound module depends on the "SoundPanel" component of the GUI.
The following modules depend on the GUI controller:
The File Process/File Packager module receives the input file from the GUI controller;
The Sound module receives input sound from the GUI controller.
2.2 File Processor/ File Packager
Role: The File Processor/File Packager splits files into chunks of data to form Messages that are
sent using the Queue Interface repackages data into the original file and manages multiple files
This module depends on:
The GUI module that sends files selected by the user;
The GUI controller that sends chunks of data that form a file.
The following modules depend on the File Processor/File Packaging module:
The JXTA peer module receives the chunks of data in the form of Messages.
Page 5 of 15
8. Voicenger - Software Design Document
2.3 Sound
Role: This module processes sound into/from a Message and sends it using the Queue Interface.
This module depends on:
The "SoundPanel" component of the GUI;
The GUI controller that sends input sound in the form of a Message.
The following modules depend on the File Processor/File Packaging module:
The JXTA peer module receives the output sound in the form of a Message.
2.4 String Processing
Role: This module processes normal text into a Message and sends it using the Queue Interface.
This module depends on:
The "TextBox" component of the GUI;
The GUI controller that sends text in the form of a Message.
The following modules depend on the File Processor/File Packaging module:
The JXTA peer module receives the text in the form of a Message.
2.5 Message Renderer
Role: This module is used to process data in the form of a Message and parse elements such as
pictures, HTML text or status updates.
This module depends on the JXTA peer module from which it receives data in the form of a
Message.
The only module that depend on it is the GUI to which it sends the parsed output.
2.6 JXTA Peer
Role: The JXTA Peer module has multiple roles such as:
Establishing a peer-to-peer connnection with other peers;
Taking data in the form of a Message using the Queue Interface;
Determining the destination of the Message and sending it via the peer-to-peer connection.
Receiving data from other peers;
Passing data to the GUI controller.
The JXTA peer module depends on:
Other JXTA peer modules with which it has established a connection;
The JXTA server module that signal any actions taken by clients that concern it;
Page 6 of 15
9. Voicenger - Software Design Document
The File Processor/File Packaging module from which it receives split files as Messages
through the Queue Interface;
The Sound Module from which it receives output sound in the form of a Message using the
Queue Interface;
The String Processing module that sends processed text through the Queue Interface.
The following modules depend on the JXTA peer module:
Other JXTA peer modules that have an established connection;
The JXTA server that is frequently notified of a new connection, a client exit, profile
changes, changes to a client's contact list or a "keep alive" acknowledgement signal;
The Message Renderer that receives Messages containing special elements that need to be
parsed.
2.7 JXTA Server
Role: The JXTA server module notifies clients of new connections, exits and provides a list of
updated profiles to any client.
The JXTA server module depends on:
The Database module from which it gets all the necessary data to fulfil its role.
The JXTA peer modules that notify the server of actions such as connecting, exiting, or
status and contact list changes.
The following modules depend on the JXTA server module:
The Database module from which undergoes the latest changes made by the server;
The JXTA peer modules that are notified by the server of actions that concern them.
2.8 Database
Role: The Database stores and provides important data in a fast and secure way.
The Database only exchanges data only with the JXTA server, thus it is the only module it depends
on, and the only module that depends on it.
2.9 Twitter/Facebook Server
Role: The Twitter/Facebook Server post messages that it receives from clients on their respective
accounts of either website.
This module does not depend on any other module.
No other module depends in any way on this module.
Page 7 of 15
10. Voicenger - Software Design Document
3 Use Cases
In order to better understand the mechanics behind the use cases, we recommend reviewing the
Appendices section.
3.1 Register
When a user registers (in order to use the application), the information that is filed in the textbox is
from the GUI component to the String Processing component and then to the Queue Interface
(p2p) component. From here, the information is sent over the network from the JXTA Peer entity
to the JXTA Server entity. The server does some checkups, and if everything is ok, it adds the data
into the Database and sends back to the JXTA Peer entity a confirmation message. Once the
confirmation message is received by the JXTA Peer entity, the network component inside the
JXTA Peer entity sends the confirmation to the GUI Controller component, granting the user
access to all available functions.
3.2 Log In
When the user logs in to the system, he fills a username and a password in the corresponding text
fields in the GUI component. By hitting submit, this information is passed to the String Processing
component and then to the Queue Interface (p2p) component. From here, the information leaves
the JXTA Peer entity, and travels over the network infrastructure to the JXTA Server entity. The
server queries the database, in order to establish whether this is a correct login or just a failed
attempt. The JXTA Server sends back to the JXTA Peer a corresponding message. Back in to the
JXTA Peer entity, the message is sent to the GUI Controller which displays an error message in a
Textbox, whether the login failed; or it displays a success message and grants access to the user to
all available functions.
3.3 Log Out
When the user logs out from the system, he must click on the Log Out button. By doing this, the
action is sent from the GUI component of the JXTA Peer entity to the Queue Interface (p2p).
From here, the action passes from the JXTA Peer to the JXTA Server over the network. The
server marks the user as being logged out and sends a message to all other online friends of this
user, announcing that he has gone offline. These other JXTA Peers receive the message over the
network. After receiving the message, each JXTA Peer sends it to their GUI Controller
component.
3.4 Add a Friend
When a user wants to add a new friend in his friends list, he inputs the username of the new friend
in a textbox field, and clicks on Add New Friend button. After clicking the button, the username is
sent from the GUI component to the Queue Interface component, and after this it is sent over the
network from the JXTA Peer entity to the JXTA Server entity. The server checks wheter the
inputted username exists within the Database, and if so, it updates some database information
regarding these two users, and then sends a confirmation message to the JXTA Peer. The JXTA
Peer receives the message and sends it to the GUI Controller component.
Page 8 of 15
11. Voicenger - Software Design Document
3.5 Delete a Friend
When a user deletes a friend from his friends list, an informational message is sent to the server. It
passes from the GUI component through the String Processing component to the Queue Interface
component inside the JXTA Peer entity. From here, the message is sent over the network to the
JXTA Server entity. Once the server gets the message, it updates the Database, and then sends an
acknowledgement message back to the JXTA Peer.
3.6 Ignore a Friend
When a user ignores a friend from his friends list, an informational message is sent to the server. It
passes from the GUI component through the String Processing component to the Queue Interface
component inside the JXTA Peer entity. From here, the message is sent over the network to the
JXTA Server entity. Once the server gets the message, it updates the Database, and then sends an
acknowledgement message back to the JXTA Peer.
3.7 Edit Profile
When a user edits its profile information, several messages are sent the server announcing the
changes. The messages pass from several Textboxes inside the GUI component through the String
Processing component to the Queue Interface component inside the JXTA Peer entity. From
here, the messages are sent over the network to the JXTA Server entity. Once the server gets the
messages, it updates the Database, and then sends an acknowledgement message back to the JXTA
Peer.
3.8 One-on-One Chat
When a user initiates a one-on-one chat with another user, an action is initiated from inside the GUI
component that passes through the String Processing and goes to the Queue Interface. From here,
a message is sent to the other JXTA Peer entity. The other JXTA Peer entity receives the message
through JXTA and passes the message to the GUI Controller component. If everything is ok, and
the chat session can be initiated, an acknowledgement message is sent back to the initial JXTA
Peer. The initial JXTA Peer receives the message, and starts a conversation tab inside the GUI
component.
Every message a users writes in the Textbox and sent to the other user, passes from the GUI
component, through the String Processing component and then to the Queue Interface. From the
Queue Interface, the message passes over the network to the other JXTA Peer entity. The other
JXTA Peer entity receives the message and sends it to its GUI Controller component. This
process is bidirectional.
Page 9 of 15
12. Voicenger - Software Design Document
3.9 Call a Friend
When a user calls a friend, an initial message is sent to the other user. If everything is ok, the other
peer replies with an acknowledgement message and the connection is established. After this, all the
sound that is recorded from the microphone in peer A, is send to the FileProcesor component. This
component splits the sound data in chunks, and then sends those chunks to the Queue Interface.
From the Queue Interface, the chunks are sent through the network, to the other JXTA Peer. The
other peer receives those chunks of sound, and sends them to its GUI Controller component. From
the GUI Controller, the chunks are sent to the Sound component, which plays the received sound.
This process is bidirectional.
3.10 Initiate a Conference Chat
When a user initiates a conference chat with several other users, an action is initiated from inside
the GUI component that passes through the String Processing and goes to the Queue Interface.
From here, a message is sent to the all other JXTA Peer entities. The other JXTA Peer entities
receive the message through JXTA and pass the message to their respective GUI Controller
component. If everything is ok, and the chat session can be initiated, an acknowledgement message
is sent back to the initial JXTA Peer. The initial JXTA Peer receives the message, and starts a
conversation tab inside the GUI component.
Every message a users writes in the Textbox and sent to all other user, passes from the GUI
component, through the String Processing component and then to the Queue Interface. From the
Queue Interface, the message passes over the network to all other JXTA Peer entities. The other
JXTA Peer entities receive the message and send it to their respective GUI Controller component.
This process is bidirectional.
3.11 Set a Discussion Topic
When a sets a discussion topic inside a chat tab, an action is initiated from inside the GUI
component that passes through the String Processing and goes to the Queue Interface. From here,
a message with the new discussion topic is sent to the other JXTA Peer entity. The other JXTA
Peer entity receives the message through JXTA and passes the message to the GUI Controller
component. If everything is ok, an acknowledgement message is sent back to the initial JXTA
Peer.
3.12 Create a Poll inside a Conference
When a user initiates a poll inside a conference chat with several other users, an action is initiated
from inside the GUI component that passes through the String Processing and goes to the Queue
Interface. From here, a message with the poll options is sent to the all other JXTA Peer entities.
The other JXTA Peer entities receive the message through JXTA and pass the message to their
respective GUI Controller component. If everything is ok, an acknowledgement message is sent
back to the initial JXTA Peer.
Page 10 of 15
13. Voicenger - Software Design Document
3.13 Send a File
When a user sends a file to a friend, the file is sent from the GUI component to the FileProcessor
component that splits the file in chunks. These chunks are then sent to the Queue Interface. From
the Queue Interface, the chunks are sent through the network, to the other JXTA Peer. The other
peer receives those chunks, and sends them to its GUI Controller component. From the GUI
Controller, the chunks are sent to the FilePackager component, which saves the received file. This
process is bidirectional.
3.14 Add a Textual Image
When a user adds a textual image to a conference chat, the image is sent from the GUI component
to the FileProcessor component that splits the file in chunks. These chunks are then sent to the
Queue Interface. From the Queue Interface, the chunks are sent through the network, to the all
others JXTA Peer entities. The other peers receive those chunks, and send them to their respective
GUI Controller component. From the GUI Controller, the chunks are sent to the FilePackager
component, and then are displayed in the chat window.
3.15 Tagging while in Conference
When a user uses tags inside a conference chat with several other users, an action is initiated from
inside the GUI component that passes through the String Processing and goes to the Queue
Interface. From here, a message regarding the tag is sent to the all other JXTA Peer entities. The
other JXTA Peer entities receive the message through JXTA and pass the message to their
respective GUI Controller component. If everything is ok, an acknowledgement message is sent
back to the initial JXTA Peer.
3.16 Update Facebook Status
Each JXTA Peer can call the Facebook API over the internet, if the user has correctly inputted a
username and a password, and wants to update his Facebook status account. The API calling is
actually a HTTP POST message.
3.17 Update Twitter Status
Each JXTA Peer can call the Twitter API over the internet, if the user has correctly inputted a
username and a password, and wants to update his Twitter status account. The API calling is
actually a HTTP POST message.
Page 11 of 15