Java™ Programming: A Complete Project Lifecycle Guide
()
About this ebook
The book moves from explanation of Unified Process to a full implementation of FX system. It takes you through various stages of a project lifecycle from requirement gathering, analysis, design and finally development. You’ll learn everything from how to create publish-subscribe architecture for a price subscription model. And also designing and developing a Java Swing thread safe GUI applications. This book has easy-to-follow code explanation that guides you through the whole project lifecycle.
Related to Java™ Programming
Related ebooks
Software Engineering & Object Oriented Modeling Rating: 0 out of 5 stars0 ratingsJava Design Patterns for Automation and Performance Rating: 4 out of 5 stars4/5Enterprise Applications with C# and .NET: Develop robust, secure, and scalable applications using .NET and C# (English Edition) Rating: 0 out of 5 stars0 ratingsHello World: Student to Software Professional - a Transformation Guide Rating: 0 out of 5 stars0 ratingsMCS-034: Software Engineering Rating: 0 out of 5 stars0 ratingsBasic Principles of an Operating System Rating: 0 out of 5 stars0 ratingsSelenium Framework Design in Keyword-Driven Testing: Automate Your Test Using Selenium and Appium Rating: 0 out of 5 stars0 ratingsJava Programming Interviews Exposed Rating: 0 out of 5 stars0 ratingsMy First In Java Rating: 0 out of 5 stars0 ratingsOCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809 Rating: 5 out of 5 stars5/5Fundamentals of Android App Development: Android Development for Beginners to Learn Android Technology, SQLite, Firebase and Unity Rating: 0 out of 5 stars0 ratingsPython Automation Mastery: From Novice To Pro Rating: 0 out of 5 stars0 ratingsUNIX Programming: UNIX Processes, Memory Management, Process Communication, Networking, and Shell Scripting Rating: 0 out of 5 stars0 ratingsJava: Advanced Guide to Programming Code with Java: Java Computer Programming, #4 Rating: 0 out of 5 stars0 ratingsCore Java: Made Simple: A popular language for Android smart phone application, favoured for edge device and Rating: 0 out of 5 stars0 ratingsCore Java Professional: For First Time Learner's. Rating: 0 out of 5 stars0 ratingsLearning Modular Java Programming Rating: 0 out of 5 stars0 ratingsMastering C# - A Comprehensive Guide Rating: 0 out of 5 stars0 ratingsFlex 3 with Java Rating: 0 out of 5 stars0 ratingsData Structures in C / C ++: Exercises and Solved Problems Rating: 0 out of 5 stars0 ratingsJava: Beginner's Guide to Programming Code with Java Rating: 0 out of 5 stars0 ratingsJava for Black Jack: Learn the Java Programming Language in One Session by Writing and Running a Java-Based Card Game Simulation Rating: 0 out of 5 stars0 ratingsJava - GUI Applications Rating: 4 out of 5 stars4/5JavaFX 1.2 Application Development Cookbook Rating: 0 out of 5 stars0 ratingsJava Programming for Beginners: Programming Rating: 0 out of 5 stars0 ratingsProgramming Essentials Rating: 5 out of 5 stars5/5Introduction to DBMS: Designing and Implementing Databases from Scratch for Absolute Beginners Rating: 0 out of 5 stars0 ratings
Computers For You
SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Elon Musk Rating: 4 out of 5 stars4/5The Invisible Rainbow: A History of Electricity and Life Rating: 4 out of 5 stars4/5Slenderman: Online Obsession, Mental Illness, and the Violent Crime of Two Midwestern Girls Rating: 4 out of 5 stars4/5Standard Deviations: Flawed Assumptions, Tortured Data, and Other Ways to Lie with Statistics Rating: 4 out of 5 stars4/5Mastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 5 out of 5 stars5/5Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are Rating: 4 out of 5 stars4/5101 Awesome Builds: Minecraft® Secrets from the World's Greatest Crafters Rating: 4 out of 5 stars4/5CompTIA IT Fundamentals (ITF+) Study Guide: Exam FC0-U61 Rating: 0 out of 5 stars0 ratingsAlan Turing: The Enigma: The Book That Inspired the Film The Imitation Game - Updated Edition Rating: 4 out of 5 stars4/5Procreate for Beginners: Introduction to Procreate for Drawing and Illustrating on the iPad Rating: 0 out of 5 stars0 ratingsThe Hacker Crackdown: Law and Disorder on the Electronic Frontier Rating: 4 out of 5 stars4/5Dark Aeon: Transhumanism and the War Against Humanity Rating: 5 out of 5 stars5/5The ChatGPT Millionaire Handbook: Make Money Online With the Power of AI Technology Rating: 0 out of 5 stars0 ratingsCreating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5Childhood Unplugged: Practical Advice to Get Kids Off Screens and Find Balance Rating: 0 out of 5 stars0 ratingsAP Computer Science Principles Premium, 2024: 6 Practice Tests + Comprehensive Review + Online Practice Rating: 0 out of 5 stars0 ratingsCompTIA Security+ Practice Questions Rating: 2 out of 5 stars2/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Going Text: Mastering the Command Line Rating: 4 out of 5 stars4/5The Professional Voiceover Handbook: Voiceover training, #1 Rating: 5 out of 5 stars5/5People Skills for Analytical Thinkers Rating: 5 out of 5 stars5/5Remote/WebCam Notarization : Basic Understanding Rating: 3 out of 5 stars3/5How to Create Cpn Numbers the Right way: A Step by Step Guide to Creating cpn Numbers Legally Rating: 4 out of 5 stars4/5
Reviews for Java™ Programming
0 ratings0 reviews
Book preview
Java™ Programming - Nitin Shreyakar
Java™ Programming: A complete Project lifecycle guide.
Copyright
Java™ Programming: A complete Project lifecycle guide, First Edition
by Nitin Shreyakar
Copyright © 2015 Nitin Shreyakar. All rights reserved
No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the author.
Java™ and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc., in the United States and other countries.
While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.
ISBN: 978-1-326-24441-5
Preface
Who Should Read This Book?
This book explains and demonstrates the fundamentals of developing an industry standard application. It provides a straightforward, no-nonsense explanation of the process of software development from inception to completion.
Although this book focuses on the fundamentals, it is not a book for learning Java language. Before reading this book, you should familiarize with the Java language and have some practical experience developing software. You also need a basic understanding of UML. If you are unfamiliar with the Java language and UML, I recommend that you read a few basic Java and UML books. You can also gain expertise by reading articles and blogs on the Internet websites.
In my initial years of learning Java, I found many basic Java learning books but could not find a single book to build an industry standard application from requirements to inception as a real life example. Hence I would like to provide fellow Java developers a stepping stone platform to build a real life commercial application.
Organization
Chapter 1 Introduction
Provide an overview of the project lifecycle using Unified Process and a foundation for developing the FX App system.
Chapter 2 Requirements
Define various aspects and processes of requirement gathering for building an industry standard application from inception. In addition create the initial use case designs and wire frames for the screens.
Chapter 3 Analysis
Examine the requirements gathered and walks the reader to the next level of application development for analysis. It then goes on to create basic class diagrams and packaging structure.
Chapter 4 Design
Provide an in depth examination of the system and detailed design consideration for building the application, and enable the developer to create sequence diagrams, collaboration, state, activity, deployment and detailed class diagrams.
Chapter 5 Development
Detail step-by-step explanation to develop Java software. Every Java class is broken down to blocks of code to give a thorough understanding in design decision used to develop the software.
Online Resources
There are many online sources for information about Java. Oracle’s official website for java topics is https://www.oracle.com/java/index.html. The Java tutorial website is http://docs.oracle.com/javase/tutorial/.
Software and Version
This book covers Java 1.7 platform. The source code is editor independent and can be used by any industry standard editors like Eclipse and IntelliJ.
Examples developed in this book are available in the link http://www.npssolutions.com/javaprogramming/.
Conventions
Italic is used for filenames, pathnames, hostnames, domain names, URLs, e-mail addresses, and new terms where they are defined.
Constant width is used for the source code, class, variables, method names and Java keywords used within the text.
Using Code Examples
This book is here to help you learn and use java.
I appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: Java Programming: A Complete Project Lifecycle Guide
First Edition by Nitin Shreyakar. Copyright 2015."
Comments and Questions
I have tested and verified the information in this book to the best of the ability, but if you find any errors please let us know, as well as your suggestions for future editions, by emailing to:
info @ npssolutions.com
About the Author
Nitin Shreyakar is a Java certified professional with around 18 years of experience in software design and development. Currently he is contracting in London for major Investment Banks and Finance companies. He is excellent problem solver, ability to quickly grasp complex systems and identify opportunities for improvements and resolution of critical issues. Has keen interest to develop high quality and maintainable software. When he is not developing software, he likes to spend time with family and friends to enjoy all the small and big things in life. Life is a journey, not a destination.
- Ralph Waldo Emerson
Dedication
To my wife Prachi, and my daughter Simran, and my parents, for their love and support. This book would not have seen light without their encouragement and sacrifices – Nitin Shreyakar
1. Introduction
Software plays an important role in our daily lives and as humans we are now very dependent on computers. In this book I describe and discuss the methods used in creating a software project from inception till the end. The project lifecycle I will be demonstrating uses industry standard methodology, tools and software for development.
For this book the unified software development process also called Unified Process is used to develop the software. In a nutshell, it is an iterative and incremental software development process framework.
C:\2015\book\java proj\images\Unified Process2.pngFigure 1‑1. The Unified Process model
Let’s now take a brief look at the various features of Unified Process:
Use Case Driven
Normally the use cases are defined to capture the functional requirements. Each of the development iteration has a set of use cases to develop, test and deploy the software.
Architecture Centric
Strictly speaking the architecture is the main focus for the project team members. There is no single architecture model but a group of models like component and deployment for defining the architecture.
Iterative
The activity steps are iterated from requirements to implementation stage.
Risk
Fortunately the major risks are addressed in the early phases of the project life cycle.
The project life cycle can be divided into four main phases:
Inception phase: is the initial phase which is also the shortest phase of the project. Before you invest a large amount of money and time you need valid justification to launch the project. Initially high level project scope is defined and details of out of scope are highlighted. It is important to determine preliminary cost and time schedule.
2. Elaboration phase: is the fundamental part of requirements gathering. In this phase firstly risk analyses is carried out, secondly the core technology is defined in the system architecture and finally create various UML diagrams like use case and class diagrams.
3. Construction phase: is the longest phase of the project where major development is implemented. In addition it also includes creating sequence, state and activity UML diagrams.
4. Transition phase: is the last phase of the project. In this final phase minor changes are made based on the feedback received from the client and it also includes testing.
Armed with Unified Process concepts let’s move to the requirement gathering section.
2. Requirements
The Requirements Model
Any commercial software project needs to start with a formal document created by the business analyst and signed off by the client. It is of paramount importance to be clear and concise to be understandable by clients and developers alike.
Requirements can be gathered from the following input sources:
Clients – Arrange formal meetings for requirements gathering
Experts – Use external expertise with skilled domain knowledge
Users – Discuss with end users to understand day-to-day activities
Input documents – Scan and read range of existing documents to understand current activities
Use Case Diagram
The use case diagram captures the behavior or functionality of the system. During requirements phase a use case diagram is the