Application Development and Emerging Technologies
Application Development and Emerging Technologies
Development and
Emerging Technologies
1|P age
LESSON 1. WHAT IS A SOFTWARE?
System software is a type of software that provides a platform for other software to run on. It
includes operating systems, device drivers, utilities, and other fundamental software necessary
for a computer to operate.
2|P age
Example of System Software
Operating System: Microsoft Windows
Description: Microsoft Windows is a widely used operating system that provides the
foundational software environment for personal computers. It manages hardware resources,
provides a user interface, and allows other software applications to run on a computer. Windows
offers a graphical user interface (GUI) that includes features like file management, taskbar, and a
start menu.
Key Features:
1. User Interface: Windows provides a graphical user interface with icons, windows, and
menus, making it user-friendly and accessible.
2. File Management: The operating system includes a file explorer for organizing,
navigating, and managing files and folders on the computer.
3. Device Drivers: Windows comes with a variety of built-in device drivers to facilitate
communication between the operating system and hardware components such as
printers, graphics cards, and network adapters.
4. Memory Management: It manages the computer's memory, allocating and deallocating
resources as needed by different processes and applications.
5. Security: Windows includes security features such as user accounts, access controls, and
firewalls to protect the system from unauthorized access and malware.
6. Task Scheduling: The operating system schedules tasks and manages the execution of
processes, ensuring efficient use of system resources.
7. Networking: Windows supports network connectivity, allowing computers to
communicate and share resources over local and wide-area networks.
8. Updates and Patches: Microsoft regularly releases updates and patches to enhance
security, fix bugs, and introduce new features.
9. Compatibility: Windows is designed to be compatible with a wide range of software
applications, making it a versatile platform for various tasks.
10. Virtual Memory: It utilizes virtual memory to extend the available RAM, enabling the
execution of larger programs and multiple applications simultaneously.
3|P age
Application software is designed to perform specific tasks for end-users. Unlike system
software, which provides a platform for other software to run, application software is directly
used by individuals or organizations to achieve particular objectives.
Key Features:
1. Image Editing Tools: Photoshop provides a variety of tools for cropping, resizing, and
retouching images.
2. Layers: Users can work with multiple layers, allowing for non-destructive editing and
better organization of elements within an image.
3. Selection Tools: Photoshop includes selection tools such as the Magic Wand and Lasso,
enabling precise isolation and manipulation of specific parts of an image.
4. Filters and Effects: Users can apply a wide range of filters and effects to enhance or
alter the appearance of images.
5. Text Editing: Photoshop allows users to add and manipulate text within images, offering
various fonts, styles, and formatting options.
6. Drawing and Painting Tools: Digital artists can use Photoshop for drawing and
painting with a variety of brushes and customizable settings.
7. Color Correction: The software provides advanced color correction and adjustment
tools, including levels, curves, and hue/saturation controls.
8. Retouching and Healing: Photoshop includes tools for removing blemishes, wrinkles,
and other imperfections from photographs.
9. Support for Various File Formats: Users can work with a wide range of file formats,
including JPEG, PNG, GIF, and PSD (Photoshop Document).
10. Integration with Other Adobe Products: Photoshop seamlessly integrates with other
Adobe Creative Cloud applications like Illustrator and InDesign for a cohesive design
workflow.
4|P age
Programming software, often referred to as integrated development environments (IDEs) or
code editors, provides tools and features that help programmers write, test, and debug code
more efficiently.
5|P age
6|P age
7|P age
8|P age
LESSON 2. TYPES OF APPLICATION DEVELOPMENT
● Integration
● Working offline
● Hardware integration
● Controlled environment
● Security limitations
9|P age
Web Application Development
Web application development is the creation of application programs that reside on remote
servers and are delivered to the user's device over the Internet. A web application (web app) does
not need to be downloaded and is accessed through a network.
● 24 / 7 Accessibility
● Increase accessibility
10 | P a g e
BEST LANGUAGES FOR APPLICATION DEVELOPMENT
● C++. A very popular language for performance-critical applications that rely on speed
and efficient memory management. It’s used in a wide range of industries including
software and game development, VR, robotics, computing.
● HTML. A programming language whose acronym stands for Hyper Text Markup
Language. It is a system that allows the modification of the appearance of web pages, as
well as making adjustments to their appearance. It also used to structure and present
content for the web
● C#. Widely used for developing desktop applications, web applications and web
services. It is used in creating applications for Microsoft at a large scale. C# is also used
in game development in Unity.
● Java. A programming language, designed to be concurrent, class based and object-
oriented, as well as a computing platform first released by Sun Microsystems in 1995. An
enormous amount of applications and websites will not work unless you have Java
installed, and more are created every day.
Python. A general purpose programming language. Hence, you can use the programming
language for developing both desktop and web applications. Also, you can use Python
for developing complex scientific and numeric applications. Python is designed with
features to facilitate data visualization.
11 | P a g e
Requirement gathering, also known as requirements analysis or elicitation, plays a
crucial role in the software development paradigm. It is the initial phase of the software
development life cycle and involves collecting and documenting information about the
features, functionalities, and constraints of the software to be developed. The main goals
of requirement gathering are to understand the needs of the stakeholders, define the
scope of the project, and establish a solid foundation for the subsequent phases of
development.
12 | P a g e
Role of Requirement Gathering in the software Development Paradigm
13 | P a g e
14 | P a g e
The term "design" refers to the process of creating a plan or blueprint for a software
system before the actual implementation begins. Software design involves making
decisions about how the various components of a system will interact, what their
responsibilities will be, and how they will be organized to meet the specified requirements.
The design phase is a crucial step in the software development life cycle and lays the
foundation for the subsequent development, testing, and maintenance phases.
15 | P a g e
16 | P a g e
Maintenance refers to the activities involved in keeping a software system operational
and effective after it has been deployed. Software maintenance is a crucial phase in the
software development life cycle and encompasses a range of tasks aimed at addressing
issues, improving functionality, adapting to changes, and ensuring the long-term viability
of the software.
17 | P a g e
18 | P a g e
19 | P a g e
Programming, within the context of software development paradigms, refers to the act
of writing and designing the code that makes up a software application. It is a crucial
phase in the software development life cycle and involves translating the requirements
and design specifications into a set of instructions that a computer can execute.
Programming encompasses various activities related to coding, debugging, and testing,
and it plays a central role in bringing a software project from concept to reality .
1. Coding:
Coding is the process of writing source code using a programming language. This
involves creating the algorithms and instructions that define the behavior of the
software. The choice of programming language depends on the project's
requirements and the development team's preferences and expertise.
2. Implementation of Design:
Programmers implement the design specifications created during the design
phase. This involves creating classes, functions, and modules based on the
architectural and component-level designs.
3. Translating Requirements into Code:
Programmers use the gathered requirements to write code that meets the functional
and non-functional specifications outlined in the project's documentation. The goal is
to implement features and functionalities as described in the requirements.
4. Algorithm Design:
Programmers design algorithms to solve specific problems or perform tasks within
the software. The efficiency and correctness of algorithms directly impact the
overall performance of the software.
20 | P a g e
5. Data Structures:
Programmers choose and implement appropriate data structures to organize and
manipulate data efficiently. This includes arrays, lists, stacks, queues, trees, and
other data structures based on the needs of the application.
6. Coding Standards:
Following coding standards and best practices ensures consistency and readability
in the codebase. Adhering to established conventions makes the code more
maintainable and facilitates collaboration within the development team.
7. Debugging:
Debugging is the process of identifying and fixing errors or bugs in the code.
Programmers use debugging tools and techniques to trace the execution of the
code, identify issues, and correct them.
8. Testing:
Programmers write test cases and conduct unit testing to verify that individual
components or functions of the software work as intended. Testing is an integral
part of programming to ensure the quality and reliability of the code.
9. Integration:
Integrating individual modules or components into a cohesive system is another
aspect of programming. Programmers ensure that different parts of the code work
together seamlessly.
10. Optimization:
Programmers may optimize code for performance by identifying and eliminating
bottlenecks, improving algorithms, or implementing more efficient data structures.
21 | P a g e
22 | P a g e
23 | P a g e
LESSON4. SOFTWARE DEVELOPMENT LIFE CYCLE
S t e p s i n S DL C
24 | P a g e
Iterative Model
This model leads the software development process in iterations. It projects the
process of development in cyclic manner repeating every step after every cycle of
SDLC process.
25 | P a g e
26 | P a g e
System Implementation
27 | P a g e
28 | P a g e
29 | P a g e
30 | P a g e
31 | P a g e
32 | P a g e
33 | P a g e
Lesson 5:
34 | P a g e
35 | P a g e
36 | P a g e
Lesson 6
Data gathering guidelines are a set of principles and recommendations that provide a
framework for collecting and handling data in a systematic, ethical, and efficient manner.
These guidelines are essential to ensure the accuracy, reliability, and ethical treatment of
data throughout the entire data collection process. The specific guidelines can vary
depending on the context and purpose of data gathering.
37 | P a g e
38 | P a g e
39 | P a g e
40 | P a g e
41 | P a g e
Lesson 7
42 | P a g e
43 | P a g e
44 | P a g e
45 | P a g e
46 | P a g e
47 | P a g e
48 | P a g e
49 | P a g e
50 | P a g e
51 | P a g e