0% found this document useful (0 votes)
18 views34 pages

Lecture 1-2

The document outlines a course on Bioinformatics Software Development taught by Dr. Tariq Shahzad at COMSATS University Islamabad, detailing course information, grading criteria, and comprehensive course contents including software types, development processes, and cloud computing. It covers both theoretical and practical aspects of software development in bioinformatics, including machine learning, programming languages, and the importance of cloud computing. The course emphasizes modern software development practices and the implications of legacy systems in various industries.

Uploaded by

Asma Ayub
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)
18 views34 pages

Lecture 1-2

The document outlines a course on Bioinformatics Software Development taught by Dr. Tariq Shahzad at COMSATS University Islamabad, detailing course information, grading criteria, and comprehensive course contents including software types, development processes, and cloud computing. It covers both theoretical and practical aspects of software development in bioinformatics, including machine learning, programming languages, and the importance of cloud computing. The course emphasizes modern software development practices and the implications of legacy systems in various industries.

Uploaded by

Asma Ayub
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/ 34

Bioinformatics Software

Development
Tariq Shahzad (PhD)
Assistant Professor
COMSATS University Islamabad, SAHIWAL

CIIT, SAHIWAL 04/24/2 1


025
Course Information
• Instructor:
Dr. Tariq Shahzad

• Office:
Faculty Room# 2.3 (A-Block)
• E-mail: tariq@cuisahiwal.edu.pk
Grading
 Quizzes 15%
 Assignments 10%
 Mid Term 25%
 Final Sessional 50%

 Attendance ………….. 80%

CIIT, SAHIWAL 04/24/2 3


025
Course Contents
 Introduction to Software
 Nature of Software
 Software Application Domain
 Bioinformatics Related Discussion
 Structural Biology and Stem Biology
 Software development Processes
 Waterfall model
 Iterative model
 Rapid application development
 Prototyping
 Software life cycle

CIIT, SAHIWAL 04/24/2 4


025
Course Contents
 What are Computer Networks?
 TCP/IP
 OSI Model
 Bio Perl, Perl DBI, Integrating Perl and Databases
 Modeling, Software Engineering Knowledge Core Principles
 Modeling Principles, Construction Principles, Deployment
Principles
 Software life cycle
 Development of software projects for bioinformatics
problems,
 Overview of software architecture
 Web based applications architecture
 Developing front end applications.

CIIT, SAHIWAL 04/24/2 5


025
Course Contents
 Machine learning approaches to bioinformatics, Database
application in bioinformatics
 Machine Learning (ML): An Overview
 Data Mining, Big Data
 Introduction to R/Python Language
 Installing and loading packages
 Programming Features of R/Python Language

CIIT, SAHIWAL 04/24/2 6


025
The Nature of Software

 Defining software
 Software application domain
 Legacy software

CIIT, SAHIWAL 04/24/2 7


025
What is Software?

 Software is a set of instructions, data or programs


used to operate computers and execute specific
tasks
 Software is a set of programs, which is designed to
perform a well-defined function.
 A program is a sequence of instructions written to
solve a particular problem.
 There are two types of software −
o System Software
o Application Software

CIIT, SAHIWAL 04/24/2 8


025
Types of Software

 System Software
The system software is a collection of programs
designed to operate, control, and extend the
processing capabilities of the computer itself. System
software is generally prepared by the computer
manufacturers. These software products comprise of
programs written in low-level languages, which
interact with the hardware at a very basic level.
System software serves as the interface between the
hardware and the end users.
 Some examples of system software are Operating
System, Compilers, Interpreter, Assemblers, etc.

CIIT, SAHIWAL 04/24/2 9


025
Types of Software

 Operating system: interfaces between a user’s


program and the hardware and provides a variety
of services and supervisory functions. Among the
most important functions are
o Handling basic input and output operations
o Allocating storage and memory
o Providing services for protected sharing of the
computer among multiple applications using it
simultaneously.
o Examples of operating systems in use today are
Linux, MacOS, and Windows

CIIT, SAHIWAL 04/24/2 10


025
Types of Software

 Here is a list of some of the most prominent


features of a system software −
o Close to the system
o Fast in speed
o Difficult to design
o Difficult to understand
o Difficult to manipulate
o Generally written in low-level language

CIIT, SAHIWAL 04/24/2 11


025
Types of Software

 Compiler: A program that translates high-level


language statements into assembly language
Statements
 Assembler: A program that translates a symbolic
version of instructions into the binary version.

CIIT, SAHIWAL 04/24/2 12


025
A simplified view of hardware
and software
FIGURE :C program compiled into assembly language and then assembled
into binary machine language.
Types of Software

 Application Software
Application software products are designed to satisfy a
particular need of a particular environment. All
software applications prepared in the computer lab
can come under the category of Application software.
Application software may consist of a single program,
such as Microsoft's notepad for writing and editing a
simple text. It may also consist of a collection of
programs, often called a software package, which
work together to accomplish a task, such as a
spreadsheet package.

CIIT, SAHIWAL 04/24/2 15


025
Types of Software

 Examples of Application software are the following


• Payroll Software
• Student Record Software
• Inventory Management Software
• Income Tax Software
• Railways Reservation Software
• Microsoft Office Suite Software
• Microsoft Word
• Microsoft Excel
• Microsoft PowerPoint
CIIT, SAHIWAL 04/24/2 16
025
Types of Software

 Features of application software are as follows −


• Close to the user
• Easy to design
• More interactive
• Generally written in high-level language
• Easy to understand
• Easy to manipulate and use
• Bigger in size and requires large storage space

CIIT, SAHIWAL 04/24/2 17


025
Software Application
Domain
 System software
 Application software
 Engineering/ Scientific software
 Embedded software
 Product Line software
 Web / Mobile applications
 Artificial intelligence software

CIIT, SAHIWAL 04/24/2 18


025
• Engineering/scientific software — Scientific and engineering
software satisfies the needs of a scientific or engineering user to
perform enterprise-specific tasks. Developers of scientific software
range from scientists who do not possess any software engineering
knowledge to experienced professional software developers with
considerable software engineering knowledge.

• Embedded software— Resides within a product or system and is


used to implement and control features and functions for the end user
and for the system itself. Embedded software can perform limited and
esoteric functions (e.g., key pad control for a microwave oven) or
provide significant function and control capability (e.g., digital functions
in an automobile such as fuel control, dashboard displays, and braking
systems).
• Product-line software —designed to provide a specific capability for
use by many different customers. Product-line software can focus on a
limited and esoteric market place (e.g., inventory control products) or
address mass consumer.
• Web/Mobile applications — applications for mobile devices that
require only a Web browser to be installed on the device. ... Mobile
Web applications differ from mobile native applications, in that they
use Web technologies and are not limited to the underlying platform for
deployment e.g. Snapchat, Instagram
 Artificial intelligence software— “Software that is capable of
intelligent behavior.”
o makes use of algorithms to solve complex problems that are not
amenable to computation or straight forward analysis. Applications
within this area include robotics, expert systems, pattern recognition
(image and voice), artificial neural networks, theorem proving, and
game playing.
Legacy Software

 Legacy software is software that has been around a long time


and still fulfills a business need. It is mission critical and tied to a
particular version of an operating system or hardware model
(vendor lock-in) that has gone end-of-life. Generally the lifespan
of the hardware is shorter than that of the software. As time goes
on, the hardware gets harder to maintain but is kept because it is
installed and (for now) working and has proven too complex
and/or expensive to replace
 Legacy systems?
Legacy systems include both the legacy software and the
legacy hardware. Legacy systems are everywhere; banks, energy
companies (including nuclear plants), manufacturing of all types
(process control), the defense industry, transportation, hospitals,
insurance, and more.
CIIT, SAHIWAL 04/24/2 22
025
Legacy Software
 Why are legacy systems still used?

 Legacy systems tend to stick around because they still work and get
the job done. Often, they're so old that no one knows exactly how they
work anymore or what dependencies they might have, so it could be
risky to replace them.
 This problem can be made worse when the vendor that created the
legacy hardware or software goes out of business, making performing
updates or upgrades much harder. Additional difficulties arise when the
employees who deployed these systems left long ago without leaving
adequate documentation.

 Another reason you'll encounter legacy systems is because they're so


expensive to replace that a company can't afford to switch to a newer
version. Or perhaps the legacy application requires proprietary
hardware, so you're stuck with really old hardware you can't replace.
As a result, you might find ancient, discolored systems next to brand
new servers running the latest and greatest of everything.
CIIT, SAHIWAL 04/24/2
025
23
Legacy Software

 Problems/Issues with Legacy Softwares


 Increased security risk. First and foremost, legacy systems
often represent a huge risk when it comes to security. ...
 Inefficient and unstable. ...
 Incompatible with new technologies. ...
 Company perception and new hire training. ...
 Single point of failure. ...
 Lack of information.

CIIT, SAHIWAL 04/24/2 24


025
Modern Software Development
 Modern software development often uses Agile
and Lean principles which focus on the
customer's requirement for continuous delivery of
new functionality. These principles are applied to
both small software products developed by one
team and to large ones developed by programs
consisting of over several teams.

CIIT, SAHIWAL 04/24/2 25


025
Cloud Computing

 Cloud computing is the delivery of computing


services—including servers, storage, databases,
networking, software, analytics, and intelligence—
over the Internet (“the cloud”) to offer faster
innovation, flexible resources, and economies of
scale.
 You typically pay only for cloud services you use,
helping you lower your operating costs, run your
infrastructure more efficiently, and scale as your
business needs change.

CIIT, SAHIWAL 04/24/2 26


025
Figure: Cloud Computing Logical
04/24/2Architecture
025
27
Benefits of Cloud Computing

 Cost
Cloud computing eliminates the capital expense of buying
hardware and software and setting up and running on-site
datacenters—the racks of servers, the round-the-clock
electricity for power and cooling, and the IT experts for
managing the infrastructure. It adds up fast.
 Speed
Most cloud computing services are provided as self service
and on demand, so even vast amounts of computing
resources can be provisioned in minutes, typically with just
a few mouse clicks, giving businesses a lot of flexibility and
taking the pressure off capacity planning.

CIIT, SAHIWAL 04/24/2 28


025
Benefits of Cloud Computing

 Global scale
The benefits of cloud computing services include the ability
to scale elastically. In cloud speak, that means delivering
the right amount of IT resources—for example, more or
less computing power, storage, bandwidth—right when
they’re needed, and from the right geographic location.
 Productivity
On-site datacenters typically require a lot of “racking and
stacking”—hardware setup, software patching, and other
time-consuming IT management works. Cloud computing
removes the need for many of these tasks, so IT teams
can spend time on achieving more important business
goals.

CIIT, SAHIWAL 04/24/2 29


025
Benefits of Cloud Computing

 Performance
The biggest cloud computing services run on a worldwide
network of secure data centers, which are regularly
upgraded to the latest generation of fast and efficient
computing hardware. This offers several benefits over a
single corporate datacenter, including reduced network
latency for applications and greater economies of scale.
 Reliability
Cloud computing makes data backup, disaster recovery,
and business continuity easier and less expensive
because data can be mirrored at multiple redundant
sites on the cloud provider’s network.

CIIT, SAHIWAL 04/24/2 30


025
Benefits of Cloud Computing

 Security
Many cloud providers offer a broad set of policies,
technologies, and controls that strengthen your
security posture overall, helping protect your data,
apps, and infrastructure from potential threats.

CIIT, SAHIWAL 04/24/2 31


025
Types of Cloud Computing

 Public Cloud
Public clouds are owned and operated by a third-party
cloud service providers, which deliver their computing
resources, like servers and storage, over the Internet.
Microsoft Azure is an example of a public cloud. With a
public cloud, all hardware, software, and other supporting
infrastructure is owned and managed by the cloud
provider. You access these services and manage your
account using a web browser.

CIIT, SAHIWAL 04/24/2 32


025
Types of Cloud Computing

 Private cloud
A private cloud refers to cloud computing resources used
exclusively by a single business or organization. A private
cloud can be physically located on the company’s on-site
datacenter. Some companies also pay third-party service
providers to host their private cloud. A private cloud is one in
which the services and infrastructure are maintained on a
private network.

CIIT, SAHIWAL 04/24/2 33


025
Types of Cloud Computing

 Hybrid cloud
Hybrid clouds combine public and private clouds, bound
together by technology that allows data and applications to be
shared between them. By allowing data and applications to
move between private and public clouds, a hybrid cloud gives
your business greater flexibility, more deployment options, and
helps optimize your existing infrastructure, security, and
compliance.

CIIT, SAHIWAL 04/24/2 34


025

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy