Photo AI
Last Updated Sep 26, 2025
Revision notes with simplified explanations to understand Software Development quickly and effectively.
494+ students studying
Software development refers to the methods that are used in developing software applications.
A structured software development process was needed as software demands increased which meant that more people worked on developing software. This ensured that :
Agile is a software development methodology that emphasises flexibility, collaboration and customer-centricity, providing a framework for managing projects that help teams deliver high-quality software quickly and efficiently.
Key Principles of Agile
The waterfall approach is a more traditional, linear and less-flexible software development methodology. The project progresses through a series of distinct phases where each phase must be completed before the next one begins with little overlap between them.
Key Principles of the Waterfall Approach
There are six stages in a standard software development process which combine features from an agile approach and a waterfall approach.
Investigation involves analysing and identifying the nature of the problem that the software is expected to solve.
A feasibility study is a document that is often produced at the end of the investigation stage to determine if a solution to the problem is viable and worth pursuing.
Types of Feasibility
Planning involves defining the project scope, goals, resources, timelines and risk management strategies in order to set the foundations for a successful project.
The design stage involves translating requirements into a blueprint that developers can follow to build the software.
Top-Down Design involves breaking the system down into smaller, more manageable components starting from the highest level of abstraction and progressively refining into detailed components.
Modular Design also involves dividing the system into smaller components. However, this approach ensures each module is a self-contained task that can be developed independently of other modules.
A prototype is an early, simplified version of a product or model created to visualise and test the concept, design and functionality before full-scale development.
Key Characteristics of Prototypes
Benefits of Prototypes
User-Centered Design is an iterative design process that focuses on the needs, preferences, and limitations of end-users at every stage of the design and development process.
User Experience (UX) refers to the overall experience and satisfaction a user has when interacting with a system or product.
User Interface (UI) refers to the point of interaction between the user and a digital device or software application. It encompasses all the visual and interactive elements that users engage with to control and use the product.
Universal Design (UD) refers to the creation of products, environments, and systems that are accessible and usable by as many people as possible, regardless of their age, ability, or other factors.
7 Principles of Universal Design
Example Apple's VoiceOver is a built-in screen reader on macOS and iOS devices that allows visually impaired users to use their devices
Example The Xbox Adaptive Controller is designed for gamers with limited mobility, offering multiple input methods and compatibility with various external devices.
Example Google's search interface is designed to be extremely simple and intuitive, requiring no instructions to use effectively.
Example Zoom provides various accessibility features, such as closed captioning, keyboard shortcuts, and screen reader support in order to communicate necessary information through multiple modes.
Example Gmail allows users to undo the sending of an email within a short period after hitting the send button, minimising the adverse consequences of accidental or unintended actions
Example Amazon's one-click purchase feature allows users to buy items with a single click, without needing to go through multiple steps in the checkout process, reducing the physical effort needed to make a purchase.
Example The Apple Watch comes with a variety of strap options in different materials and sizes, ensuring a comfortable and secure fit for users with different wrist sizes
Localisation is the process of adapting a product or service to meet the language, cultural and other local requirements of a particular target market or region.
Internationalisation is the process of designing and developing a product, application, or content so that it can be easily adapted for various languages, regions, and cultures.
The creation stage is where the software is actually written
Testing software refers to the process of evaluating and verifying that a software application or system meets the specified requirements and works as expected.
Objectives of Testing
Testing is a popular exam topic. Make sure you can :
Types of Testing
Unit testing focuses on validating the functionality of individual units or components of a software application. The goal is to ensure that each unit of the software performs as expected.
Example Consider an e-commerce platform. A unit test can be written to ensure that the total amount of the items in the shopping cart are true.
Functional testing focuses on verifying that the functions of a software application operate in conformance with the required specifications. It is more concerned with the business requirements than individual functionalities and components.
Example A functional test may be written to verify that the system performs specific functions as expected which may include :
Non-functional testing focuses on the non-functional aspects of the system, such as performance, usability, reliability, and security. It ensures that the system meets certain criteria and performs well under specific conditions.
Example A non-functional test may be written to ensure the platform can handle high-traffic during a sale. This might involve simulating thousands of users accessing the website simultaneously to verify if the website remains stable and responsive under this load.
Integration testing focuses on verifying the interactions between different components or systems to ensure they work together as expected.
Example An integration test may be written to test the interaction between the payment gateway and the checkout system.
Regression testing involves re-running previously conducted tests to ensure that new code changes have not adversely affected existing functionalities
Example After adding a new feature, such as a discount code functionality, regression testing would verify that existing features like product search, checkout, and payment processing still work correctly.
System testing involves testing the entire integrated system to verify that it meets the specified requirements.
Example A system test is usually done after unit and other types of testing which would include testing user registration and login, browsing and searching for products, viewing product details etc.
Exam Focus
Documentation refers to the comprehensive collection of written materials that describe and explain various aspects of a software application
Documentation is a broad term in terms of software, it may include :
Enhance your understanding with flashcards, quizzes, and exams—designed to help you grasp key concepts, reinforce learning, and master any topic with confidence!
30 flashcards
Flashcards on Software Development
Revise key concepts with interactive flashcards.
Try Computer Science Flashcards3 quizzes
Quizzes on Software Development
Test your knowledge with fun and engaging quizzes.
Try Computer Science Quizzes12 questions
Exam questions on Software Development
Boost your confidence with real exam questions.
Try Computer Science Questions27 exams created
Exam Builder on Software Development
Create custom exams across topics for better practice!
Try Computer Science exam builder27 papers
Past Papers on Software Development
Practice past papers to reinforce exam experience.
Try Computer Science Past PapersDiscover More Revision Notes Related to Software Development to Deepen Your Understanding and Improve Your Mastery
Join 500,000+ Leaving Cert students using SimpleStudy...
Join Thousands of Leaving Cert Students Using SimpleStudy to Learn Smarter, Stay Organized, and Boost Their Grades with Confidence!
Report Improved Results
Recommend to friends
Students Supported
Questions answered