Professional Practices
Course Code : ITEC4112
Professional Practices
• This course teaches you professional software development practices
• Deals mostly with process, very little with specs/designs/coding.
• Applying these practices will help you avoid
• Missed dates
• Poor quality software
• Badly-designed features
• Poor user documentation
• Poor architecture and architectural documentation
• Dysfunctional professional relationships between “The Business Side” and Software Development
• When software is built in a professional fashion in industry, this is how it is
consistently done.
Computing
3
Computing:
Any activity that uses computers to manage, process, and
communicate information. It includes development of both
hardware and software.
4
• Thus, computing includes
• designing and building hardware and software.
• processing, structuring, and managing various kinds of information.
• doing scientific studies using computers.
• making computer systems behave intelligently.
• creating and using communications.
• entertainment media.
• finding and gathering information relevant to any particular purpose, and so on.
• The list is virtually endless, and the possibilities are vast.“
5
Sub-disciplines of the computing field:
• Computer Science,
• Computer Engineering,
• Information Systems,
• Information Technology,
6
History of computing:
• The history of computing is longer than the history of computing
hardware and modern computing technology and includes the history of methods
intended for pen and paper or for chalk and slate, with or without the aid of tables.
• Computing is intimately tied to the representation of numbers.
• The earliest known tool for use in computation was the abacus, and it was thought to
have been invented in Babylon circa 2400 BC. Its original style of usage was by lines
drawn in sand with pebbles.
7
Computer:
• A computer is a machine that manipulates data according to a set
of instructions called a computer program. The program has an executable form that
the computer can use directly to execute the instructions.
• The same program in its human-readable source code form, enables a programmer to
study and develop the algorithm.
8
Computer software:
• Computer software or just "software", is a collection of computer programs and
related data that provides the instructions for telling a computer what to do and how
to do it.
• Software is a set of programs, procedures, algorithms and
its documentation concerned with the operation of a data processing system.
9
Application & System software:
• Application software, a computer software designed to help the user to perform
specific tasks.
• Apps may be bundled with the computer and its system software, or may be
published separately. Some users are satisfied with the bundled apps and need
never install one.
• Application software applies the power of a particular computing platform or
system software to a particular purpose.
• Platform dependability is also an issue.
• System software, is computer software designed to operate and control the
computer hardware and to provide a platform for running application software.
10
Computer User:
• A user is an agent, either a human agent (end-user) or software agent, who uses a computer
or network service.
• Computer User can be a:
• End User
The term end-user refers to the ultimate operator of a piece of software, but it is also a concept
in software engineering, referring to an idea of that group of end-users of computers.
To simplify, the end user is the person who uses the software or hardware after it has been fully
developed, marketed, and installed. It is also the person who keeps calling the "IT guy" with questions about
why the product isn't working correctly. Generally, the terms "user" and "end user" mean the same thing.
• Computer Programmer
A programmer, computer programmer, or coder is a person who writes computer software. The
term computer programmer can refer to a specialist in one area of computer programming or to a generalist
who writes code for many kinds of software.
11
Sub-disciplines of computing
Computer Engineering:
• Computer engineering is a discipline that integrates several fields of electrical
engineering and computer science required to develop computer hardware and software.
• Computer engineers usually have training in electronic engineering (or electrical
engineering), software design, and hardware-software integration instead of only
software engineering or electronic engineering.
• Computer engineers are involved in many hardware and software aspects of computing,
from the design of individual microprocessors, personal computers, and supercomputers,
to circuit design.
• This field of engineering not only focuses on how computer systems themselves work,
but also how they integrate into the larger picture.
12
Sub-disciplines of computing
Computer Science (CS):
• Computer science or computing science is the scientific and practical approach
to computation and its applications.
• A computer scientist specializes in the theory of computation and the design of
computational systems.
• Its subfields can be divided into practical techniques for its implementation and
application in computer systems and purely theoretical areas.
• focus on the challenges in implementing computations such as programming language
theory , computer programming and complex systems, human-computer interaction etc.
13
Sub-disciplines of computing
Information System (IS):
• "Information systems" is the study of complementary networks of hardware and
software that people and organizations use to collect, filter, process, create, and
distribute data.
• The study bridges business and computer science using the theoretical
foundations of information and computation to study various business models and
related algorithmic processes within a computer science discipline.
• Computer Information System(s) (CIS) is a field studying computers and
algorithmic processes, including their principles, their software and hardware
designs, their applications, and their impact on society while IS emphasizes
functionality over design.
14
Sub-disciplines of computing
Information Technology (IT):
• Information technology (IT) is the application of computers and telecommunications
equipment to store, retrieve, transmit and manipulate data, often in the context of a
business or other enterprise.
• The term is commonly used as a alternative word for computers and computer
networks, but it also involves other information distribution technologies such as
television and telephones.
• Several industries are associated with information technology, such as computer
hardware, software, electronics, semiconductors, internet and telecom equipment, e-
commerce and computer services.
15
Sub-disciplines of computing
System Administrator:
• Systems administrator, is a person employed to maintain and operate a computer
system and/or network.
• The duties of a system administrator are wide-ranging, and vary widely from one
organization to another.
• Sys admins are usually charged with installing, supporting and maintaining servers or
other computer systems, and planning for and responding to service outages and other
problems.
• Other duties may include scripting or light programming, project management for
systems-related projects, supervising or training computer operators, and being the
consultant for computer problems beyond the knowledge of technical support staff. 16