Software development with Java
Discover the fundamentals of an object-oriented approach to software development. Starting from an analysis of requirements, you’ll be introduced to up-to-date analytical techniques and processes essential for specifying, designing and implementing a software system, including a graphical user interface. Although the small systems developed in the module have been chosen to facilitate learning, the underlying concepts are widely used by professional software developers. Software models are created with UML and implemented with Java 6, using NetBeans. You need Java experience, preferably by prior study of an OU level 2 Java module.
What you will study
How do teams of professional software developers work together when creating complex software systems? How can the development process be partitioned to enable different people to work on different tasks, and what techniques can assist the individuals involved?
In this module you will be introduced to object-oriented approaches to software development that are widely applicable in the creation of software that meets the needs of its users: from small, simple systems to large, complex ones. These approaches take you from an analysis of what is required of a system through its specification, design and implementation. They include concepts such as use case design; the construction of structural and dynamic models; and the specification of classes. You will also be introduced to the role of user interface design within software development, and to some key aspects of testing software.
Using paper-based materials and computer-based practical exercises you will learn about fundamental software development ideas, illustrated by small sample systems. You will participate in the development of these systems through examples and guided exercises. You will discover how to develop a software system by creating models using the industry standard Unified Modelling Language (UML). You will apply and extend your understanding of object-orientated technology and of Java, and will implement code using NetBeans, a widely used integrated development environment from Oracle (previously Sun Microsystems). As well as learning techniques and processes that you can use when developing your own software, you will meet concepts that underpin the theory of software development, such as software development methods and reusable software components.
Block 1 begins by introducing the common phases of object-oriented software development, taking an introductory look at how these phases can be combined to form different software development methods. Requirements specification is introduced as an initial development phase followed by the creation of an initial model of the software structure, incorporating elements such as class diagrams and invariants.
Block 2 sets the scene for object-oriented design by introducing the design and implementation of component-based software. Generic ideas such as cohesion and coupling are discussed, as well as the role of object-oriented concepts such as encapsulation, and Java-specific concepts such as access modifiers. You will then look in detail at determining how a system will work, employing sequence diagrams to create and compare different designs.
Block 3 will show you how to take the designs for a system and use them as a basis on which to implement and test the system. Some key ideas in human-computer interaction are then introduced.
Block 4 pursues the concept of graphical use interface (GUI) development and you will participate in the design of GUIs for the sample systems. Java event handling and GUI facilities are reviewed, and example GUIs are constructed using NetBeans’ GUI design facilities.
As you study the module, you will be using email, online forums and the World Wide Web for communication with the University, your tutor and other students.
Module texts, other printed materials, module software (including NetBeans) on CD-ROM, website, online forums.
A computing device with a browser and broadband internet access is required for this module. Any modern browser will be suitable for most computer activities. Functionality may be limited on mobile devices.
Any additional software will be provided from a hardware device e.g. DVD drive or USB stick or is generally freely available. However, some activities may have more specific requirements. For this reason, you will need to be able to install and run additional software on a desktop or laptop computer with either:
- Windows 7 or higher
- macOS 10.7 or higher
- a modern Linux version
The screen of the device must have a resolution of at least 1024 pixels horizontally and 768 pixels vertically.
To participate in our online-discussion area you will need both a microphone and speakers/headphones.
Our Skills for OU study website has further information including computing skills for study, computer security, acquiring a computer and Microsoft software offers for students.