Software development comprises many activities (e.g. technical, managerial, governance, etc.) among which are those that take requirements as input, and yield, as output, software code that is intended to satisfy the requirements. In this development process is a key artefact – the design of the system, which embodies the various components of the system and how they interact with each other in providing the solution to the client. Prior (or, at times, even concurrent) to designing the system is the analysis of the environment in which the system is to operate, including discovering the system's requirements. Arguably, without these two sets of activities – analysis and design – in the development process, it would be difficult to build large-scale, high quality systems. The most widely-used approach to system design and requirements analysis nowadays is the object-oriented approach. Here, the Unified Modeling Language (UML) notation is used to describe the different models covered in the course. The notation of design patterns is used to describe reusable application processes in forming the solution. Object-oriented (OO) programming languages such as Java and C++ are most associated with the OO development paradigm. In this course, students will learn about object-oriented analysis and design, along with the C++ programming language. They will apply their skills by means of a group project in which they take requirements for a system and produce C++ code that satisfies those requirements.
This assignment sees you building a program to process text files and apply specific filters to them. You will get acquainted with C++ through the development of a simple system for processing text files