0% found this document useful (0 votes)
21 views26 pages

DCIT26 - Introduction to Application Development

The document provides an overview of application development, detailing the process from understanding requirements to maintenance and support. It categorizes types of application development, including web, mobile, and cloud applications, and discusses various methodologies such as Agile and DevOps. Additionally, it highlights tools and technologies used in application development, including programming languages, frameworks, and testing tools.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views26 pages

DCIT26 - Introduction to Application Development

The document provides an overview of application development, detailing the process from understanding requirements to maintenance and support. It categorizes types of application development, including web, mobile, and cloud applications, and discusses various methodologies such as Agile and DevOps. Additionally, it highlights tools and technologies used in application development, including programming languages, frameworks, and testing tools.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

DCIT 26 –

Application Development and


Emerging Technologies

C E I T
Chapter 1

Introduction to
Application
Development

C E I T
Application Development

 refers
to the process of creating software
applications that perform specific functions for
users or other applications.

 Thisfield encompasses a wide range of activities,


from initial planning and design to coding, testing,
and deployment.
Key concepts and stages involved
in application development:
 1. Understanding Requirements
◦ Gathering User Requirements
◦ Defining Functional Requirements
 2. Planning and Design
◦ Project Planning
◦ System Architecture Design
◦ User Interface (UI) Design:
 3. Development
◦ Coding
◦ Version Control
Key concepts and stages involved
in application development:
 4. Testing
◦ Unit Testing
◦ Integration Testing:
◦ User Acceptance Testing (UAT):
 5. Deployment
◦ Release Management:
◦ Deployment:
Key concepts and stages involved
in application development:
 6. Maintenance and Support
◦ Monitoring
◦ Updates and Bug Fixes
 7. Emerging Trends
◦ Agile Development
◦ DevOps
◦ Low-Code/No-Code Development
Types of Application Development:
 1. Web Application Development
-Creating applications that run in web browsers. These
applications can be accessed from any device with
internet connectivity.
 2. Mobile Application Development
-Developing applications specifically for mobile devices
such as smartphones and tablets.
 3. Desktop Application Development
-Creating software applications that run on desktop
operating systems like Windows, macOS, or Linux.
Types of Application Development:
 4. Game Development
-Designing and creating video games for various
platforms, including consoles, PCs, and mobile devices.
 5. Enterprise Application Development
-Building large-scale applications designed to meet
the needs of an organization, often integrating with
existing systems.
 6. Cloud Application Development
-Developing applications that run on cloud infrastructure,
providing scalability and remote access.
Types of Application Development:
 7. Embedded Application Development
-Creating applications that run on embedded systems,
such as IoT devices, appliances, and automotive systems.
 8. API Development
-Building application programming interfaces (APIs)
that allow different software applications to
communicate with each other.
Types of Application Development:
 9. Blockchain Application Development
-Developing decentralized applications (dApps) that
utilize blockchain technology for secure transactions
and data integrity.
 10. (AR) and (VR) Development
-Creating immersive applications that enhance or
simulate real-world environments.
App Development Methodologies:
 1. Waterfall Model
Description: A linear and sequential approach where
each phase must be completed before the next begins.
Phases: Requirements, Design, Implementation,
Verification, Maintenance.
 2. Agile Development
Description: An iterative and incremental approach that
emphasizes flexibility, collaboration, and customer
feedback.
Key Frameworks: Scrum, Kanban,
Extreme Programming (XP).
App Development Methodologies:
 3. Scrum
Description: A specific Agile framework that organizes
work into time-boxed iterations called sprints, typically
lasting 2-4 weeks.
Roles: Scrum Master, Product Owner, Devt Team.
 4. Kanban
Description: A visual approach to managing work,
emphasizing continuous delivery and limiting work in
progress (WIP).
Key Elements: Kanban board, WIP limits,
continuous flow.
App Development Methodologies:
 5. Extreme Programming (XP)
Description: An Agile methodology focused on improving
software quality and responsiveness to changing
requirements through frequent releases.
Practices: Pair programming, test-driven development
(TDD), continuous integration.
 6. Lean Software Development
Description: An approach, focusing on eliminating
waste and maximizing value.
Key Principles: Optimize the whole, eliminate waste,
 build quality in, and deliver fast.
App Development Methodologies:
 7. DevOps
Description: A methodology that combines development
(Dev) and operations (Ops) to improve collaboration,
automation, and integration.
Key Practices: Continuous integration, continuous
delivery (CI/CD), infrastructure as code.
 8. Feature-Driven Development (FDD)
Description: Focuses on delivering tangible, working
software features in short iterations.
Key Components: Develop overall model, build a feature
list, plan by feature, design by feature, build by feature.
App Development Methodologies:
 9. Rapid Application Development (RAD)
Description: Emphasizes quick development and
iteration of prototypes over rigorous planning and testing.
Key Components: User feedback, iterative
development, and prototyping.
 10. Spiral Model
Description: A risk-driven approach that combines
iterative development with the systematic aspects
of the Waterfall model.
Phases: Planning, Risk Analysis, Engineering, Evaluation.
App Dev Tools and Technologies
 1. Programming Languages
 JavaScript: Widely used for web development (front-end
and back-end with Node.js).
 Python: Popular for web applications, data analysis, and

machine learning.
 Java: Commonly used for enterprise applications and

Android development.
 C#: Used for Windows applications and game development

with Unity.
 Swift: Primary language for iOS application development.
 Kotlin: Official language for Android development.
App Dev Tools and Technologies
 2. Frameworks
 Web Development:
◦ React: A JavaScript library for building user interfaces.
◦ Angular: A framework for building single-page
applications (SPAs).
◦ Vue.js: A progressive JavaScript framework for building
UIs.
 Back-End Development:

◦ Node.js: JavaScript runtime for building server-side


applications.
App Dev Tools and Technologies
◦ Django: A Python framework for building web
applications quickly.
◦ Ruby on Rails: A web application framework written in
Ruby.
 Mobile Development:

◦ Flutter: A UI toolkit for building natively compiled


applications for mobile, web, and desktop from a single
codebase.
◦ React Native: A framework for building mobile apps
using React.
App Dev Tools and Technologies
 3. Integrated Development Environments (IDEs)
 Visual Studio: A powerful IDE for .NET and C#
development.
 Eclipse: Commonly used for Java development.
 PyCharm: An IDE specifically for Python development.
 Xcode: The official IDE for iOS and macOS development.
 Android Studio: The official IDE for Android development.
App Dev Tools and Technologies
 4. Version Control Systems
 Git: A distributed version control system widely used in
software development.
 GitHub: A platform for hosting Git repositories and

collaborating on projects.
 GitLab: A web-based DevOps lifecycle tool that provides a

Git repository manager.


App Dev Tools and Technologies
 5. Database Management Systems
 SQL Databases: MySQL, PostgreSQL, Microsoft SQL
Server.
 NoSQL Databases: MongoDB, Cassandra, Firebase.
 ORM Tools: Hibernate (Java), Entity Framework (C#),

Sequelize (Node.js).
App Dev Tools and Technologies
 6. Testing Tools
 JUnit: A testing framework for Java applications.
 Selenium: A tool for automating web browsers for testing.
 Jest: A JavaScript testing framework used with React

applications.
 Postman: A tool for testing APIs.
App Dev Tools and Technologies
 7. Deployment and Continuous
Integration/Continuous Deployment (CI/CD)
Tools
 Docker: A platform for developing, shipping, and running
applications in containers.
 Kubernetes: An orchestration tool for managing

containerized applications.
 Jenkins: An open-source automation server for CI/CD.
 CircleCI: A cloud-based CI/CD tool.
App Dev Tools and Technologies
 8. Cloud Platforms
 Amazon Web Services (AWS): A comprehensive cloud
platform offering computing power, storage, and other
services.
 Microsoft Azure: A cloud computing service for building,

testing, and managing applications.


 Google Cloud Platform (GCP): A suite of cloud computing

services that runs on the same infrastructure as Google’s


end-user products.
App Dev Tools and Technologies
 9. API Development Tools
 Swagger/OpenAPI: Tools for designing and documenting
APIs.
 Postman: Also used for API testing and development.
 GraphQL: A query language for APIs that allows clients to

request only the data they need.


App Dev Tools and Technologies
 10. Collaboration and Project Management
Tools
 Jira: A tool for agile project management and issue
tracking.
 Trello: A visual collaboration tool for organizing tasks and

projects.
 Slack: A messaging platform for team communication.

You might also like