0% found this document useful (0 votes)
4 views44 pages

Lesson 11 Program Development

Lesson 11 covers the development process of creating information systems and applications, detailing the phases from planning to support. It emphasizes the importance of user involvement, documentation, and managing changes during development. Additionally, it discusses methodologies, tools, ethical obligations, and problem-solving techniques relevant to developers.

Uploaded by

chum.manlongat
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views44 pages

Lesson 11 Program Development

Lesson 11 covers the development process of creating information systems and applications, detailing the phases from planning to support. It emphasizes the importance of user involvement, documentation, and managing changes during development. Additionally, it discusses methodologies, tools, ethical obligations, and problem-solving techniques relevant to developers.

Uploaded by

chum.manlongat
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Lesson 11

Home Content Contact

PROGRAM
CREATING SYSTEMS AND APPLICATIONS

DEVELOPMENT
Lesson 11

Home Content Contact

Development is the process of creating


WHAT DOES A information systems or programs and apps
DEVELOPER from the idea stage to distribution to
DO? users.
Developers follow three general guidelines:
Group activities into phases, such as planning, analysis,
design, implementation, security, and support.
Involve users for whom the program is being developed.
Define the standards, or sets of rules and procedures, the
developers should all follow to create a product with
consistent results.
Lesson 11

Home Content Contact

REASONS FOR DEVELOPMENT


The most obvious reason is to correct a problem, such as
an incorrect calculation or a security breach.
Another reason is to improve the information system.
Organizations may want to improve hardware, software, or
other technology to enhance an information system.
To start development process, user writes a formal
request for a new or modified information system or app,
which is called a project request or request for system
services.
Lesson 11

Home Content Contact

REASONS FOR DEVELOPMENT


The project request becomes the first item of
documentation for the project.
Documentation is a collection and summary of the data,
information, and deliverables specific to the project.
Lesson 11

Home Content Contact

MANAGING DEVELOPMENT CHANGES


Scope creep or feature creep occurs when one activity
has led to another that was not planned originally and
the scope of the project now has grown.
The scope of a project includes its goals, objectives,
and expectations of the project.
project leaders should use change management, which is
the process of recognizing when a change in the project
has occured, taking actions to react to the change, and
planning for opportunities because of the change.
Lesson 11

Home Content Contact

PHASES AND METHODS OF DEVELMENT


Software Development Life Cycle
(SDLC)

Plan
Analyze
Design
Implement
Support and Secure
Lesson 11

Home Content Contact

PLANNING PHASE
The planning phase for a project begins with a request
for the project and is triggered by the development of
the project documentation. The request might come to a
committee that authorizes development.
The committee performs four major activities such as:
Review and approve the request
Prioritize project requests
Allocate resources such as money, people and equipment
Form a project development team
Lesson 11

Home Content Contact

ANALYSIS PHASE
The analysis phase consists of wo major components:
Conducting a preliminary investigation
Performing detailed analysis
The preliminary investigation is called a feasibility
stud. The goal of this part of the phase is to determine
if the project is worth pursuing.
Feasibility is the measure of the suitability of the
development process to the individual project at any
given time.
Lesson 11

Home Content Contact

Four general factors are used to determine a project’s feasibility:

Operational Feasibility
measures how well the product will work and whether it will
meet the requirements of the users.
Schedule Feasibility
determines if the deadlines of the project phases are
reasonable
Technical Feasibility
measures whether the developers have the skills and resources.
Economic Feasibility
determines whether the benefits will outweigh the costs of the
development and support
Lesson 11

Home Content Contact

DESIGN PHASE
The design phase is te phase when the project team
acquires the necessary hardware and programming tools, as
well as develops the details of the finished product.
Lesson 11

Home Content Contact

IMPLEMENTATION PHASE
The purpose of the implementation phase is to build the
product and deliver it to users. During this phase, the
development team performs three major activities:
Develop the product using programming tools or
languages
Instald test the product, including each individual
compnent and how it works with other programs and apps
Train users to use the new product, including one-on-
one or group sessions, web-based tutorials, and user
manuals.
Lesson 11

Home Content Contact

SUPPORT AND SECURITY PHASE


During this stage, the product receives necessary
maintenance, such as fixing errors or improving its
functionality.
Security concerns are addressed through each phase of
development, and apps are tested for reliability.
during the testing process, each function is tested to
ensure it works properly.
Quality assurance testers perform testing and report any
issues to developers.
Lesson 11

Home Content Contact

DEVEPMENT METHODOLOGIES
Several methodologies exist to guide SDLC process. They
can be broken down into two main categories.
Predictive development uses a linear, structured
development cycle. One example of predictive development
is the waterfall method.
The waterfall method takes each step individually and
completes it before continuing to the next phase.
Lesson 11

Home Content Contact

WATERFALL
METHOD
Lesson 11

Home Content Contact

DEVEPMENT METHODOLOGIES
Agile development or adaptive development incorporates
flexibility in the goals and scope of the project
Agile projects may evolve in phases, releasing components
as they are finalized and adding functionality as it is
needed or requested by users.
Lesson 11

Home Content Contact

AGILE DEVELOPMENT
Lesson 11

Home Content Contact

SYSTEM DEVELOPMENT TOOLS & STRATEGIES


A deliverable is any tangible item such as a
chart, diagram, report, or program file.
Charts can elp to create schedules and assign
tasks
Developers also use project management software
to assist them in planning, scheduling, and
controlling development projects
Project management is the process of planning,
scheduling, and controlling the activities
during system development.
Lesson 11

Home Content Contact

GANTT AND PERT CHARTS


A Gantt Chart, is a bar chart that uses horizontal
bars to show project phases or activities. The left
side, or vertical axis, displays the list of required
activities. A horizontal axis or across the top bottom
of the chart represents time.
A PERT Chart, Program Evaluation and Review Technique,
analyzes time required to complete a task and
identifies the minimum time required for an entire
project.
Lesson 11

Home Content Contact

GANTT AND
PERT CHARTS
Lesson 11

Home Content Contact

To manage a project using project management software, we


follow these steps:
Make sure you understand the project in its entirety, as well as the
steps you must take to bring the project to completion.
Determine the date by which the project must be completed.
Verify you have the appropriate resources to complete the project.
If you do not have the necessary resources, obtain them if possible.
Determine the order of the steps that must be taken to bring the
project to completion.
Verify the feasibility of the plan. During the project, it will be
necessary to update the progress and possibly adjust dates. Changes
to the project and its dates should be communicated to the entire
team.
Lesson 11

Home Content Contact

DATA AND INFORMATION GATHERING TECHNIQUES


Review documentation
Observe
Survey
Interview
JAD Session
Lesson 11

Home Content Contact

SYSTEM DEV’T TASKS AND ROLES


Project Team consists of users, system analysts and other
IT professionals.
System Analyst is responsible for designing and developing
an information system.
Smaller organizations may have one system analyst, while
large organizations often have multiple system analysts.
Lesson 11

Home Content Contact

SYSTEM DEV’T TASKS AND ROLES


The goal of project management is to deliver an acceptable
system to the user in an agreed-upon time frame, while
maintaining costs. To plan and schedule a project
effectively, the project leader identifies the following
elements:
Scope
Required activities
Time and cost estimates for each activity
Order of activities
Activities that can take place at the same time.
Lesson 11

Home Content Contact

SYSTEM DEV’T TASKS AND ROLES


After the project is approved, the systems analyst begins
the activity of obtaining additional hardware or software
to meet the organization’s needs.
This activity is skipped if the approved solution does not
require new hardware or software. If it is required, it
consists of four major tasks:
Identify technical specifications
Solicit vendor proposals
Test and evaluate vendor proposals
Make a decision
Lesson 11

Home Content Contact

SYSTEM DEV’T TASKS AND ROLES


Lesson 11

Home Content Contact

DEVELOPMENT LANGUAGES AND TOOLS


Programming language is a set of words,
abbreviations, and symbols that a programmer
or developer uses to create instructions for
a program or app.

Machine Language are first generation


language; their instructions use a series of
binary digits (0s,1s)

Assembly language are the second generation


of languages
Lesson 11

Home Content Contact

DEVELOPMENT LANGUAGES AND TOOLS


Source Editor is a text editor designed for
programming

When you enter code in a source code editor,


the editor adds color-coding to highlight
syntax to differentiate between types of
code, indentation for sub-steps, auto
completion of common instructions, and the
automatic addition of braces and other
punctuation that separates code.
Lesson 11

Home Content Contact

DEVELOPMENT LANGUAGES AND TOOLS


Programmers also use debuggers to test code in one section, or an
entire program, to determine any errors and provide suggestions to
fix them.
A compiler is a separate program that converts the entire source
program into machine language before executing it.
An interpreter translates and executes one statement at a time.
Programmers might use separate tools for each of these or us an
integrated development environment (IDE).An IDE is an application
that provides multiple programming tools in one environment.
Lesson 11

Home Content Contact

DEVELOPMENT LANGUAGES AND TOOLS


Software Development Kit (SDK) is a set of programming tools that
includes a programming interface, compiler, debugger, and more.
A code repository is another web-based tool programmers use to
archive and host source code.
Software developers use Object-oriented programming (OOP) tools to
implement objects in a program
In programming, an object isn an item that can contain bothe data
and the procedures that reads or manipulates that data.
A class is a type of object that defines the format of the object
and the actions an object can perform
A method defines the behavior of an object.
Lesson 11

Home Content Contact

DEVELOPMENT LANGUAGES AND TOOLS


Lesson 11

Home Content Contact

SECURE IT: DESIGNING SECURE SYSTEMS &


APPLICATIONS
One method of testing is to use the program as
intended, using appropriate input and steps to ensure
that the outcome is as expected. Other methods include
the following:
Security Audit
Penetration Testing
Fuzz Testing
Lesson 11

Home Content Contact

SECURE IT: DESIGNING SECURE SYSTEMS &


APPLICATIONS
One method of testing is to use the program as
intended, using appropriate input and steps to ensure
that the outcome is as expected. Other methods include
the following:
Security Audit
Penetration Testing
Fuzz Testing
Lesson 11

Home Content Contact

SECURE IT: DESIGNING SECURE SYSTEMS &


APPLICATIONS
Other tests that the system analysts run include:
Unit Test
verifies that each individual program or object works by itself.
System Test
verifies that all programs in an application work together
properly
Integration Test
verifies that an application works with other applications
Acceptance Test
performed by end users and checks he new system to ensure that it
works with actual data.
Lesson 11

Home Content Contact

HOW TO PLACE YOUR APP IN APP STORE


Programs and apps are considered the intellectual property of the
creator(s).
As part of development, you should consider the type of license(s)
you want to offer, or whether to distribute the program or app as
open source.
Websites exist that help developers acquire trademarks and
copyrights, often for free.
You should also secure a domain name for your company or product
so that you can ensure you have a website to sell, market, and
support the program or app.
Lesson 11

Home Content Contact

HOW TO PLACE YOUR APP IN APP STORE


Once you have a completed app that is secure, protected, and
error-free, you are ready to share it with users.
App stores may cge you a small one-time accopunt setup fee to
start using the app store, after which you can upload as may apps
as you wish.
Then you will need to create a listing for your app. The listing
should include an icon, screenshot, description, and demo videos.
For each app you upload, you will need to fill our a ratings
questionnaire that enables the app store to solicit, collect, and
publish user reviews.
Lesson 11

Home Content Contact

HOW TO PLACE YOUR APP IN APP STORE


Once your app is uploaded, you need to continue to monitor the
ratings and reviews.
It is good practice to react to negative reviews by posting a
response or by fixing or updating the app, if necessary.
You will also need to continue to advertise the app on your
website, by promoting it using paid ads in the app store, or by
using targeted social media advertising.
Lesson 11

Home Content Contact


Lesson 11

Home Content Contact

ETHICS AND ISSUES: SOCIAL AND ETHICAL


OBLIGATIONS OF A DEVELOPER
Ethical Design is a set of evolving principles that developers
should follow to enhance UX, to make data collection usage
transparent, and to enable users to easily make choices that
protect their privacy.
Lesson 11

Home Content Contact

ETHICS AND ISSUES: SOCIAL AND ETHICAL


OBLIGATIONS OF A DEVELOPER
Principles of Ethical Design:
Do not hide or obscure options that enable users to accept
cookies, allow the app to access their location, or other options
that may affect a user’s privacy
Include an easily accesible statement that lists the privacy and
security features of the app and a method of notifying users when
the features change.
Do not collect more data than is needed. If a user’s account can
be created using only a few pieces of information do not ask for
additional distinguishing information.
Lesson 11

Home Content Contact

ETHICS AND ISSUES: SOCIAL AND ETHICAL


OBLIGATIONS OF A DEVELOPER
Principles of Ethical Design:
Always request permission before sending the user push
notifications.
Apush notification is an alert sent through the user’s device’s
notifications, or by email or text, that may let users know about
new features or remind them when a game booster is available.
The opposite of push notification is a pull notification, which is
sent in response to a user’s actions or request.
Clearly distinguish ads from app content.
Lesson 11

Home Content Contact

PROBLEM SOLVING AND DECISION MAKING


Understand how to use algorithms to solve problems
An algorithm is a process or set of rules used in
problem-solving, such as calculations. Algorithms
specify the procedures and actions that a program uses
to process input and create output.
Understand that computer data is represented using the
binary system.
Lesson 11

Home Content Contact

PROBLEM SOLVING AND DECISION MAKING


Use variables within a program. In programming, a
variable is a named location in memory used to store
information, such as a value, that is used in a program
Use arithmetic operators to create mathematical
expressions
Understand how to use sequencing within a program. A
sequence is a set of steps that must be completed in a
certain order.
Lesson 11

Home Content Contact

PROBLEM SOLVING AND DECISION MAKING


Use conditional statements to instruct
the program to make decisions. Similar to
Boolean operators, a condition is either
true or false.
Use iterations, which are repetitions of
a sequence of instructions. An iteration
can occur until a certain condition is
reached, stop after a specified number of
times, or occur until all items in a list
have been through the sequence.
Lesson 11

Home Content Contact

THANK YOU

You might also like