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
Mastering Java EE Development with WildFly Rating: 0 out of 5 stars0 ratingsInstant Highcharts Rating: 0 out of 5 stars0 ratingsMicrosoft .NET Framework 4.5 Quickstart Cookbook Rating: 0 out of 5 stars0 ratingsIntroduction to JVM Languages Rating: 0 out of 5 stars0 ratingsJAVA Programming Simplified: From Novice to Professional - Start at the Beginning and Learn the World of Java Rating: 0 out of 5 stars0 ratingsJava Programming Interviews Exposed Rating: 0 out of 5 stars0 ratingsMastering C: A Comprehensive Guide to Proficiency in The C Programming Language Rating: 0 out of 5 stars0 ratingsJob Ready Java Rating: 0 out of 5 stars0 ratingsMission Ruby Rating: 0 out of 5 stars0 ratingsRust Mini Reference: A Hitchhiker's Guide to the Modern Programming Languages, #5 Rating: 0 out of 5 stars0 ratingsMastering Google App Engine: Build robust and highly scalable web applications with Google App Engine Rating: 0 out of 5 stars0 ratingsPython Apps on Visual Studio Code: Develop apps and utilize the true potential of Visual Studio Code (English Edition) Rating: 0 out of 5 stars0 ratingsjQuery Game Development Essentials Rating: 0 out of 5 stars0 ratingsAndroid Application Development with Maven Rating: 0 out of 5 stars0 ratingsIntroduction to DBMS: Designing and Implementing Databases from Scratch for Absolute Beginners Rating: 0 out of 5 stars0 ratingsObject Oriented Programming Inheritance: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsRapid Application Development With CakePHP Rating: 0 out of 5 stars0 ratingsLearn JSP in 24 Hours Rating: 0 out of 5 stars0 ratingsSoftware Development Accelerated Essentials: What You Didn't Know, You Needed to Know Rating: 0 out of 5 stars0 ratingsJava: A complete practical solution Rating: 0 out of 5 stars0 ratingsPHP Ajax Cookbook Rating: 2 out of 5 stars2/5Network Programming in Python : The Basic: A Detailed Guide to Python 3 Network Programming and Management Rating: 0 out of 5 stars0 ratingsJava - GUI Applications Rating: 4 out of 5 stars4/5MySQL Management and Administration with Navicat Rating: 0 out of 5 stars0 ratingsUltimate SQL Server and Azure SQL for Data Management and Modernization Rating: 0 out of 5 stars0 ratingsHTML5 for Flash Developers Rating: 5 out of 5 stars5/5Learn C Programming through Nursery Rhymes and Fairy Tales: Classic Stories Translated into C Programs Rating: 0 out of 5 stars0 ratingsCSS Mastery: Styling Web Pages Like a Pro Rating: 0 out of 5 stars0 ratingsWhere to Place My Project: Code Hosting Platforms Rating: 0 out of 5 stars0 ratings
Computers For You
Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are Rating: 4 out of 5 stars4/5Algorithms to Live By: The Computer Science of Human Decisions Rating: 4 out of 5 stars4/5Get Into UX: A foolproof guide to getting your first user experience job Rating: 4 out of 5 stars4/5Artificial Intelligence: The Complete Beginner’s Guide to the Future of A.I. Rating: 4 out of 5 stars4/5Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5Explain the Cloud Like I’m 10 Rating: 5 out of 5 stars5/5UX/UI Design Playbook Rating: 4 out of 5 stars4/5Mastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 4 out of 5 stars4/5Microcopy: Discover How Tiny Bits of Text Make Tasty Apps and Websites Rating: 4 out of 5 stars4/5Cloud Native Security Rating: 5 out of 5 stars5/5Hands-On Motion Graphics with Adobe After Effects CC: Develop your skills as a visual effects and motion graphics artist Rating: 0 out of 5 stars0 ratingsChatGPT For Writers: The Key To Unlock Your Creativity Rating: 0 out of 5 stars0 ratingsThe ChatGPT Millionaire Handbook: Make Money Online With the Power of AI Technology Rating: 4 out of 5 stars4/5ChatGPT Rating: 1 out of 5 stars1/5The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution Rating: 4 out of 5 stars4/5Build a WordPress Website From Scratch 2024: WordPress 2024 Rating: 0 out of 5 stars0 ratingsSAP HANA SYSTEM REPLICATION SCENARIOS Rating: 0 out of 5 stars0 ratingsSQL Queries: 200+ Queries to Challenge you. Rating: 5 out of 5 stars5/5ITIL Foundation Essentials ITIL 4 Edition - The ultimate revision guide Rating: 5 out of 5 stars5/5CompTIA Server+ Study Guide: Exam SK0-005 Rating: 5 out of 5 stars5/5Scala Programming For Beginners: The Complete Step-By-Step Guide To Learning Scala For Functional Programming And Practical Use Rating: 0 out of 5 stars0 ratings2022 Adobe® Premiere Pro Guide For Filmmakers and YouTubers Rating: 5 out of 5 stars5/5Computer Science I Essentials Rating: 5 out of 5 stars5/5The Future of No Work Rating: 0 out of 5 stars0 ratingsThe Self-Taught Computer Scientist: The Beginner's Guide to Data Structures & Algorithms Rating: 0 out of 5 stars0 ratingsAP Computer Science Principles Premium, 2025: Prep Book with 6 Practice Tests + Comprehensive Review + Online Practice Rating: 0 out of 5 stars0 ratings
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