THE SOFTWARE DEVELOPMENT LIFE CYCLE *The following was adapted from Glencoe s Introduction to Computer Science Using Java
|
|
|
- Asher Thornton
- 10 years ago
- Views:
Transcription
1 THE SOFTWARE DEVELOPMENT LIFE CYCLE *The following was adapted from Glencoe s Introduction to Computer Science Using Java Developing software is a very involved process, and it often requires numerous programmers working in teams to create a product. A successful product is the result of a well-defined development process. How do you know if a product was successful? Was the product shipped on time? How difficult is it to maintain the product? Does the product do what it was intended to do? Is the client happy with the finished product? Was the project successful financially? Many software companies have established their own development processes. Most of them follow the same basic steps (search Google Images for other takes on the Software Development Life Cycle). We will use the steps: Analysis (What does the customer want? What are the user specifications?) Design (How will the program work? i.e. Flowcharts, UML diagrams, etc.) Implementation (Write the code) Testing and Documentation (Does it work the way it was supposed to? Add support files/instructions) Maintenance (Fix problems, add features as required) Image from: As a new programmer, you are working with such small programs that you may question the need to follow all of these steps to produce a solid product. However, it is important that you develop good programming habits early. As your programs grow in complexity, you will be glad that you did.
2 ANALYSIS During this phase, you and the client define the product. Good communication skills are mandatory. Typically, the analysis of a problem involves listening to the client s needs, asking questions to clarify exactly what is needed, and producing a written document that describes exactly what the program will do. Some of the questions you should ask include: What is the budget for this project? Who will use this product? What should the product do? Is there other software that does this already? What are some good/bad things about the existing product? What hardware or software will this product be run on? Does the product need to meet certain performance or security measures? Are there specific interface requirements (colours, look, tone, etc.)? What is the deadline or launch date for the product? What is your detailed list of deliverables (what must be provided to the client when the project is finished)? Even if the client is you and your program is very simple, you should complete this phase. Your analysis may only require a sentence or two. More complex programs demand more extensive analysis (imagine the analysis documentation for the next version of an operating system).
3 DESIGN Designing the product involves a detailed examination of what it will take to accomplish the goals set forth in the Analysis phase. Here, you plan the project details and design your solution. The steps to organize the project include: Detailed list of deliverables (what you provide to the client when the project is finished) Project organization (responsibilities of each team on the project, how they will communicate, people responsible for each team) Technical choices (programming language, third-party tools required, version tracking, coding standards, testing processes) Quality assurance (test procedures, problem reporting and resolution) Schedule (major milestones, estimate of time required for deliverables) A programmer must consider the steps that are required in order for the computer to perform its task. It is important to know the order in which the statements will run, from the point at which the computer begins reading statements to the last statement that is executed. Programmers use flowcharts to help determine the steps of a program. A flowchart is like a map of the program. The series of steps plotted in a flowchart is called an algorithm. An algorithm is a specific set of steps that will always lead to a specific solution. We will discuss this in more detail.
4 IMPLEMENTATION In the implementation phase, you finally get to write the code. During this phase, you make the design into a program. When writing the code, try to break things down to the smallest units possible. Writing small code units makes it easier to test and debug, and also improves your code reusability. Over time, you will develop a library of common objects, or units of code. There is no fun or fortune in reinventing the wheel every time you sit down to write a program. Use meaningful names for methods and variables. Deciphering variable names when you have to maintain the code (months later) is never a good thing. Also, be sure to comment your code. It will help you and other programmers who have to work with your code. Many times, trying to explain a difficult section of code in comment form will help you think of a better way of writing the actual code. TESTING AND DOCUMENTATION The testing phase is a critical one. There is nothing more embarrassing than demonstrating a finished product to your client, only to have it crash during the demonstration. Proper testing is actually a continual process. Depending on the size of the project, your team may conduct individual testing of the component it is responsible for, before other teams integrate it. Once the individual components are tested, they must be tested in combination with the other components. Generally, a detailed plan for testing is required to ensure correct functionality of the product. This phase of the development cycle is generally an iterative one. As bugs are discovered, the program is cycled back to the implementation phase, and then retested. This cycle continues until all or most of the bugs are discovered and fixed. After testing is complete, supporting documentation is created. This may include printed or online instructions, describing how to manage or use the application. Documentation can also include technical information for the programmers who will maintain the application.
5 MAINTENANCE If you have done your job properly in the testing phase, deployment and maintenance will be much easier. Unfortunately, the reality is that most of the time developing a program is spent maintaining it after it is finished. Virtually no program ever written is 100% bug free. When bugs are detected and reported, you must figure out what is causing the problem and how to fix it. Again, if you have done your programming well (remember when you were supposed to comment your code?), maintenance will be much easier. You may also elect (or be asked by your client) to improve the original version of a program. *Note: This document was adapted from UNDERSTANDING THE CONCEPTS 1. What are the phases of the Software Development Life Cycle? 2. Which phase do you think is the most important and why? 3. How do you know if a product was successful? 4. In which phase of the cycle would you set a schedule for creating the product? 5. What are some important things to consider during the analysis phase? 6. Why is it important to provide users with documentation?
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process Project management encompasses all the
Chapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
Module 7 Human Resources Management PMP Exam Questions
Module 7 Management PMP Exam Questions PMP, PMBOK and the Registered Education Provider logo are registered marks of the Project Management Institute, Inc. Question 1 You and your manager are discussing
Appendix H Software Development Plan Template
Appendix H Software Development Plan Template Version 2 March 7, 2005 This page is intentionally left blank. Version 2 March 7, 2005 Title Page Document Control Panel Table of Contents List of Acronyms
Custom Web Development Guidelines
Introduction Custom Web Development Guidelines Unlike shrink wrap software, custom software development involves a partnership between the architect/programmer/developer (SonicSpider) and the owner/testers/users
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
Testing, What is it Good For? Absolutely Everything!
Testing, What is it Good For? Absolutely Everything! An overview of software testing and why it s an essential step in building a good product Beth Schechner Elementool The content of this ebook is provided
SECURE BACKUP SYSTEM DESKTOP AND MOBILE-PHONE SECURE BACKUP SYSTEM HOSTED ON A STORAGE CLOUD
SECURE BACKUP SYSTEM DESKTOP AND MOBILE-PHONE SECURE BACKUP SYSTEM HOSTED ON A STORAGE CLOUD The Project Team AGENDA Introduction to cloud storage. Traditional backup solutions problems. Objectives of
Carnegie Mellon University Master of Science in Information Technology Software Engineering (MSIT-SE) MSIT Project (17-677) Approval Form
Carnegie Mellon University Master of Science in Information Technology Software Engineering (MSIT-SE) MSIT Project (17-677) Approval Form Student Name: Jane Doe Date: 9/19/2002 Project Title: Re-Engineer
Software Development. Topic 1 The Software Development Process
Software Development Topic 1 The Software Development Process 1 The Software Development Process Analysis Design Implementation Testing Documentation Evaluation Maintenance 2 Analysis Stage An Iterative
Outsourcing WordPress Development
Outsourcing WordPress Development Bret Phillips http://bretwp.com @bretwp Do you really need to hire someone? Your time is valuable. If you are NOT a code monkey, chances are you would be better served
HOW TO CREATE USEFUL SOFTWARE PROCESS DOCUMENTATION ABSTRACT
HOW TO CREATE USEFUL SOFTWARE PROCESS DOCUMENTATION Linda Westfall The Westfall Team [email protected] 3000 Custer Road, Suite 270, PMB 383 Plano, TX 75075 ABSTRACT Whether our organization is
An elearning platform for distanced collaborative programming
An elearning platform for distanced collaborative programming Final report by Low Hau Sum Team Member: Chow Tsz Wun, Low Hau Sum, Mok Ka Hei Supervisor: Dr Chui C K FYP14006 2 Table of Contents 1 Introduction...
Waterfall vs. Agile Methodology
2012 Waterfall vs. Agile Methodology Mike McCormick MPCS, Inc. Revised Edition 8/9/2012 Contents Waterfall vs. Agile Model Comparison...3 Conceptual Difference...3 Efficiency...4 Suitability...4 Waterfall
Development Methodologies Compared
N CYCLES software solutions Development Methodologies Compared Why different projects require different development methodologies. December 2002 Dan Marks 65 Germantown Court 1616 West Gate Circle Suite
How To Design An Information System
Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917
Project Development & Software Design
Project Development & Software Design Lecturer: Sri Parameswaran Notes by Annie Guo. S1, 2006 COMP9032 Week12 1 Lecture Overview Basic project development steps Some software design techniques S1, 2006
SCORM Users Guide for Instructional Designers. Version 8
SCORM Users Guide for Instructional Designers Version 8 September 15, 2011 Brief Table of Contents Chapter 1. SCORM in a Nutshell... 6 Chapter 2. Overview of SCORM... 15 Chapter 3. Structuring Instruction...
(Refer Slide Time: 3:21)
Software Engineering Prof. Shashi Kelkar Department of Computer Science and Engineering Indian Institute of Technology, Bombay Lecture - 31 Project Time Management Today we are going to talk about project
Sistemi ICT per il Business Networking
Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Software Development Processes Docente: Vito Morreale ([email protected]) 17 October 2006 1 The essence of
Bob Kibbee, Map & GIS Librarian, Olin Library, [email protected]
FEASIBILITY STUDY The Group Douglas Tak-Lai Wong, [email protected] Gregor Charles Carrigan, [email protected] James Ioannidis, [email protected] Jeffery Zhang, [email protected] Talitha Lynn Forcier, [email protected]
Interactive Application Security Testing (IAST)
WHITEPAPER Interactive Application Security Testing (IAST) The World s Fastest Application Security Software Software affects virtually every aspect of an individual s finances, safety, government, communication,
15 Principles of Project Management Success
15 Principles of Project Management Success Project management knowledge, tools and processes are not enough to make your project succeed. You need to get away from your desk and get your hands dirty.
Importance of Project Schedules. matter what happens on a project. projects, especially during the second half of projects
Project Time Management Chapter 6 Importance of Project Schedules Managers often cite delivering projects on time as one of their biggest challenges Time has the least amount of flexibility; it passes
How$Spotify$builds$products$
How$Spotify$builds$products$ Henrik Kniberg Version 1.1 2013-01-18 Product development isn t easy. In fact, most product development efforts fail, and the most common reason for failure is building the
Top 10 Tips for Successful Software Development Management
71% of the software projects do not succeed! Top 10 Tips for Successful Software Development Management by Jack Bicer Here are some time tested guidelines that have been used extensively to deliver web
A Guide for Goal Setting and Employee Feedback
A Guide for Goal Setting and Employee Feedback 1 Table of Contents The Performance Appraisal Process 3 Goals: Define, Review and Agree 4 Goal Setting Defined 4 Overview 4 Cascading Goals 4 Cascading Goals
Useful Automated Software Testing Metrics
Useful Automated Software Testing Metrics By Thom Garrett IDT, LLC Adapted from the book Implementing Automated Software Testing, by Elfriede Dustin, Thom Garrett, Bernie Gauf Author Bio: Thom Garrett
Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.
Project Cost Adjustments This article describes how to make adjustments to a cost estimate for environmental factors, schedule strategies and software reuse. Author: William Roetzheim Co-Founder, Cost
White Paper. Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1
White Paper Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1 INTRODUCTION...3 FRAMEWORKS AND LANGUAGES...3 SECURITY AND UPGRADES...4 Major Upgrades...4 Minor Upgrades...5
Power Tools for Pivotal Tracker
Power Tools for Pivotal Tracker Pivotal Labs Dezmon Fernandez Victoria Kay Eric Dattore June 16th, 2015 Power Tools for Pivotal Tracker 1 Client Description Pivotal Labs is an agile software development
Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1
COMP209 Object Oriented Programming System Design Mark Hall Introduction So far we ve looked at techniques that aid in designing quality classes To implement a software system successfully requires planning,
Sign up for give away events. Because there is a single error, that means the likelihood of additional errors is even greater. A domain name should
Compare and contrast essay on online college vs. traditional college. By Kaelan Peter dailyonlineearning. By charles wandrag Charles Wandrag is a Successful Online Marketing mentor and coach. Compare and
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
HP ITSM best practices for HP OpenView Service Desk. HP Services
HP ITSM best practices for HP OpenView Service Desk HP Services Reduce effort, cost, and risk. Increase the business value of IT. IT organizations that are seeking to improve their operational effectiveness
Application Security in the Software Development Lifecycle
Application Security in the Software Development Lifecycle Issues, Challenges and Solutions www.quotium.com 1/15 Table of Contents EXECUTIVE SUMMARY... 3 INTRODUCTION... 4 IMPACT OF SECURITY BREACHES TO
The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
The Importance of Defect Tracking in Software Development
The Importance of Defect Tracking in Software Development By Dan Suceava, Program Manager, Axosoft LLC [email protected] THE SOFTWARE DEVELOPMENT CYCLE...1 DEFECTS WHERE DO THEY COME FROM?...3 BUGS DON
Project Roles and Responsibilities
Project s and This template can be used to define roles and responsibilities Below is a few typical examples of the different types of roles involved in delivering a project and their respective responsibilities.
Chapter 3, Project Organization and Communication
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication Outline for Project Organization Project Definition Project Organization Roles Tasks
Critical analysis. Be more critical! More analysis needed! That s what my tutors say about my essays. I m not really sure what they mean.
Critical analysis Be more critical! More analysis needed! That s what my tutors say about my essays. I m not really sure what they mean. I thought I had written a really good assignment this time. I did
What to base your Brand Portal on: SharePoint, custom build it or buy Brandworkz offthe shelf
What to base your Brand Portal on: SharePoint, custom build it or buy Brandworkz offthe shelf From time to time we hear variations on the following from potential clients: We already have Microsoft SharePoint
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference
Manual Tester s Guide to Automated Testing Contents
Manual Tester s Guide to Automated Testing Contents Introduction...3 Knowing the Differences...3 Common Misconceptions About Automated Testing...4 How to Transition to a Blended Manual/Automated Approach...7
Developing a Project. Management System. Using Project Agency Template. Approach. - the Process and the Benefits
Developing a Project Management System Using Project Agency Template Approach - the Process and the Benefits Project Agency June 2008 Developing your own Project Management System. Project Agency has worked
Custom Development Methodology Appendix
1 Overview Custom Development Methodology Appendix Blackboard s custom software development methodology incorporates standard software development lifecycles in a way that allows for rapid development
How To Model Software Development Life Cycle Models
Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different
In this Lecture you will Learn: Implementation. Software Implementation Tools. Software Implementation Tools
In this Lecture you will Learn: Implementation Chapter 19 About tools used in software implementation How to draw component diagrams How to draw deployment diagrams The tasks involved in testing a system
WHITE PAPER DEVELOPING A SUCCESSFUL WEBSITE RFP. Find the Right Web Development Partner through an Engaging and Informative RFP.
WHITE PAPER DEVELOPING A SUCCESSFUL WEBSITE RFP Find the Right Web Development Partner through an Engaging and Informative RFP By Devin Gauthier INTRODUCTION So you ve decided to undertake a new website
Lab 0 (Setting up your Development Environment) Week 1
ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself
Chapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
Using Both Incremental and Iterative Development Dr. Alistair Cockburn, Humans and Technology
Using Both Incremental and Iterative Development Dr. Alistair Cockburn, Humans and Technology Incremental development is distinctly different from iterative development in its purpose and also from its
The Software Lifecycle. Software Lifecycles
The Software Lifecycle Examining the phases of large-scale software development projects Jeff Stephenson Software Lifecycles Software Engineering vs. Programming What you have done for our past assignments
Software Development: An Introduction
Software Development: An Introduction Fact: Software is hard. Imagine the difficulty of producing Windows 2000 29 million lines of code 480,000 pages of listing if printed a stack of paper 161 feet high
SELECTING ECOMMERCE WEB HOSTING & SUPPORT
SELECTING ECOMMERCE WEB HOSTING & SUPPORT Stephen Chinn May 2015 LYONSCG White Paper: Selecting ecommerce Web Hosting & Support 1 When you design and build a new online store, it s easy to anticipate all
Encoding Text with a Small Alphabet
Chapter 2 Encoding Text with a Small Alphabet Given the nature of the Internet, we can break the process of understanding how information is transmitted into two components. First, we have to figure out
Introduction to Software Paradigms & Procedural Programming Paradigm
Introduction & Procedural Programming Sample Courseware Introduction to Software Paradigms & Procedural Programming Paradigm This Lesson introduces main terminology to be used in the whole course. Thus,
Getting Started with Kanban Paul Klipp
Getting Started with Kanban Paul Klipp kanbanery 2 Contents 3/ Getting Started with Kanban 4/ What is Kanban? 7/ Using Kanban Does kanban apply to me? How can it help me? What will I have to change? 10/
Making the Right Choice
Tools & Automation Making the Right Choice The features you need in a GUI test automation tool by Elisabeth Hendrickson QUICK LOOK Factors to consider in choosing a GUI testing tool Treating GUI test automation
Make Learning Fun with Programming
I Like Tech@CityU Make Learning Fun with Programming Author: Desmond Pang Chak Man (53038488), BEngCE, Year2 Introduction When we talk about how to use technology to make our learning process interesting
Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda
Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or
How to Outsource Without Being a Ninnyhammer
How to Outsource Without Being a Ninnyhammer 5 mistakes people make when outsourcing for profit By Jason Fladlien 2 Introduction The way everyone does outsourcing is patently wrong, and this report is
Using Karel with Eclipse
Mehran Sahami Handout #6 CS 106A September 23, 2015 Using Karel with Eclipse Based on a handout by Eric Roberts Once you have downloaded a copy of Eclipse as described in Handout #5, your next task is
CONTENT MARKETING AND SEO
CONTENT MARKETING AND SEO How to Use Content Marketing and SEO to Reach Customers and Business Goals What do you consider the most essential ingredient for your business s marketing success? In today s
Assignment 2: Microsoft Project Toolset. Eric Palmer & Mahindra Bheodari. Kennesaw State University. IS 8100 Spring 2015
Assignment 2: Microsoft Project Toolset 1 Assignment 2: Microsoft Project Toolset Eric Palmer & Mahindra Bheodari Kennesaw State University IS 8100 Spring 2015 Assignment 2: Microsoft Project Toolset 2
Activity Builder TP-1908-V02
Activity Builder TP-1908-V02 Copyright Information TP-1908-V02 2014 Promethean Limited. All rights reserved. All software, resources, drivers and documentation supplied with the product are copyright Promethean
In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice
In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities
1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN
1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN 1.1 INTRODUCTION Systems are created to solve problems. One can think of the systems approach as an organized way of dealing with a problem. In this dynamic
Minnesota Health Insurance Exchange (MNHIX)
Minnesota Health Insurance Exchange (MNHIX) 1.2 Plan September 21st, 2012 Version: FINAL v.1.0 11/9/2012 2:58 PM Page 1 of 87 T A B L E O F C O N T E N T S 1 Introduction to the Plan... 12 2 Integration
Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
Schedule A Support and Maintenance Agreement
Page 1 of 5 During the Term and upon SSN s acceptance of an executed Order Form that specifies the Customer s designated support plan for the applicable Software (the Covered Services ), SSN shall provide
TARGETPROCESS BURNDOWN CHARTS
TARGETPROCESS BURNDOWN CHARTS v.2.19 Burndown Charts This document describes burndown chart modes in TargetProcess. 1 Table of Contents Release Burndown Chart Parameters... 2 Option 1: Simple Mode... 2
UML basics: An introduction to the Unified Modeling Language
Copyright Rational Software 2003 http://www.therationaledge.com/content/jun_03/f_umlintro_db.jsp UML basics: An introduction to the Unified Modeling Language by Donald Bell IBM Global Services Way back
Software Development In the Cloud Cloud management and ALM
Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect
Digital Industries Trailblazer Apprenticeship. Software Developer - Occupational Brief
Digital Industries Trailblazer Apprenticeship Software Developer - Occupational Brief Table of Contents Contents 1 Software Developer Trailblazer Apprenticeship Introduction... 1 2 Software Developer Trailblazer
Five Steps to Getting Started with Contract Management
Five Steps to Getting Started with Contract Management White Paper (281) 334-6970 [email protected] www.prodagio.com Contracts play a major role in your daily interactions with clients and suppliers alike.
Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.
ECE1778 Project Report Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.ca Executive Summary The goal of this project
A Review of an MVC Framework based Software Development
, pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University
Project Proposal: SAP Big Data Analytics on Mobile Usage Inferring age and gender of a person through his/her phone habits
George Mason University SYST 699: Masters Capstone Project Spring 2014 Project Proposal: SAP Big Data Analytics on Mobile Usage Inferring age and gender of a person through his/her phone habits February
