Thursday, October 13, 2016

Software Development Syllabus


  • Software and Software Development
    • What is Software?
      • Types of software products
      • Other classifications of software
    • Software product attributes
    • The software development process
      • Waterfall model
      • Evolutionary development model
      • Rapid application development
  • Concepts of Programming
    • Amateur Vs Professional programming
    • History of software design
      • Programming in art form
      • Structured programming
      • Unstructured programming
      • Object Oriented Programming
    • Computer Programs
      • Sequential Processing
      • Concurrent Processing
    • Concept of Algorithm
    • Flow Charts
    • Pseudo Codes and Data Declaration
  • Programming in Pascal
    • Pascal Syntaxes
      • Comments
      • Program structure
      • Identifiers
      • Constants
      • Data Types
      • Variables
      • Assignments
      • Operators
      • Inputs and Outputs
    • Control Constructs
      • IF / THEN / ELSE conditions
      • Repetition controls
      • CASE statement
    • Procedures and Functions
    • Recursion
    • Array Processing
    • Records
    • File Processing
  • Data Structures and Algorithms
    • Array searching
      • Linear and Binary Search
    • Array Sorting
      • Selection sort
      • Bubble sort
      • Insertion sort
    • Linked List
      • What is pointer?
      • Constructing a Linked list with pointers to records
  • Testing
    • Objectives and principles of testing
    • Static Vs Dynamic testing
    • What is debugging?
    • Stages dynamic testing
      • Unit testing
      • Integration testing
      • Acceptance testing
    • Software testing strategies
      • Black box and white box testing
    • Static verification
      • Desk checking and Dry running
    • V- Model
  • Documentation
    • What is documentation
    • Types of documentation
      • User documentation
      • System documentation
      • Program documentation
  • File Organization
    • Serial and Sequential Files
    • Indexed serial files
      • Inserting records
      • Searching records
    • Indexed sequential file
      • Inserting records
    • Hash / Random / Direct files
      • Overflow area
      • General overflow area
  • CASE  (Computer Aided Software Engineering) Tools
    • Traditional Vs CASE based development
    • Advantages of CASE tools
    • Components of CASE tools
      • Upper CASE
      • Lower CASE
      • Cross life cycle CASE
    • CASE support in software life cycle
      • Prototyping
      • Structures analysis and design
      • Code generation
      • Test case generation
      • Reverse and Re-Engineering
      • Other usages of CASE tools
  • User Interface Design
    • Types of user interfaces
    • UI Design principles
    • Command line interfaces
    • Graphical user interfaces
    • Web Interfaces
  • System Software
    • Compilers and Interpreters
    • Assemblers
    • Comparison of programming languages

Monday, October 10, 2016

Social Considerations


This is the final lecture note in Information Systems (IS) subject in the BCS Examinations lecture series. I will be creating a whole new lecture series with videos, discussions, more explanations, real world examples and more opportunities to interact with each other. However these lectures are sufficient for students sit for British Computer Society's professional qualifications exams.

 

Dependencies caused by computerization

Modern computers often tend to dc tasks faster, more accurately than their human counterparts. In addition a single machine could often deal with the tasks which would nave otherwise required several human workers. Not to mention the tasks which would not have been possible to carry out without the use of computers. This amazing machine (the computer) although bringing in all these benefits' has implied that cost saving entrepreneurs choose them over human workers. Thus resulting in reduced job opportunities and sometimes loss of jobs for existing employees as well.

Changing work patterns
Several new forms rrf work patterns have emerged during the recent years. Some of these include

Home based work
This is where an individual performs his job function using his PC without even leaving his own home. Such work patterns are usually associated with individuals such as freelance programmers and specialists. The work is done at the users convenience and then submitted to the office through a VPN or through e-mail. The main advantage is that the such jobs are convenient to the individual while at the same time results in cost savings to the organization since there are no transport costs or costs associated with maintaining office space. A slight disadvantage of the system however is that it requires supervision to avoid loss of control.


Flexible work patterns
This is a modern work practice which enables staff to work at their own convenience (ie : to enter and leave the office at their desire). However they must ensure that the work assigned to them is carried out or an adequate amount of hours are worked"

Shift work
This is where several individuals share one job function where each one takes a particular turn at performing it. This type of work practice is common in offices where long hours of work is required such as 24 hour call centers where it would be impossible for a single individual to work such long hours.

Team work
This is where several individuals work together combining strengths and forming synergy to perform a specif job function

Motivation
Motivation is defined as the compulsion or inner influence which causes individuals to perform better than they normally would. Motivation is a key function of almost any modern business organization. It helps keep employees in high spirits and thus leads to increased productivity and efficiency automatically.

Software Quality Control / Assurance (QC)


With increased forms of competition and globalization many firms are adopting a greater emphasis on quality in today's business environment. But what is quality ? Quality can be defined as ensuring that goods and services perform as expected without failure or complications along the way.


  • Importance of quality assurance
  • Ensures that customers are kept satisfied as they get what they desire.
  • Saves costs associated with wastage, replacement, etc.
  • Improves the company's corporate image.


ISO standards

ISO (international standards organization ) standards are a set of internationally accepted standards which define both general (all types of goods) and specific (for specific types of goods and services) standards. The main benefit of complying with such standards is the recognition brought about by complying with such standards. ( ie : a firm following ISO guidelines is more likely to be selected by a client than one which doesn't.) ISO has specific guidelines for the iT industry as well. General standards include the ISO 9002 certification, etc.

Software Quality
Software quality is one of the main concerns of the software developers.

What is software quallty?
There rs no simpie answer to this question. ln fact the answer may depenC on who is answering it. Different people have different views/perspectives of the software quality. For example users' perspective of software quality is different from software engineers perspective. What is more, different groups of software engineers also may have different views" Some aspects of software are more important to programmei's than to nraintenance enErneers and managers.

Achieving a high level of product or service quality is now the objective, If the n'lost organizations" lt is no longer acceptable to deliver poor quality products and then repair problems and defects after they have been delivered to the customer.

The responsibility of quality managers is to ensure that the required level of quality is achieved. Quality management involves defining appropriate procedures and standards and checking that these are followed by all engineers. It depends on developing a 'quality culture' where every one responsible for product development is committed to quality.

Quality management is not just concerned with ensuring that software is developed without faults and informs to its specification. It is also concerned with broader aspects of software quality such as security', reliability, robustness understand ability, test-ability, portability, usability, re-usability, efficiency and so on.

A critical part of quality planning is selecting critical quality attributes and planning how these can be achieved.

Software quality managers are responsible for three kinds of activities:


  • Quality assurance: They must establish organizational procedures and standards which lead to high quality software.
  • Quality planning: They must select appropriate procedures and standards and tailor them for a specific software project.
  • Quality control: They must ensure that procedures and standards are followed by the development team.


Quality assurance is concerned with defining how an organization aims to achieve quality. lt involves defining or selecting standards that should be applied to the software development process or software product.

Quality control involves overseeing the software development process to ensure that quality assurance procedures and standards are being followed. The quality control process has its own set of procedures and reports that must be defined and applied during the development process. As far as possible these procedures should be straight forward and easily understood by the engineers developing the software.

Quality plan should begin at an early stage in the software process. A quality plan should set out the desired product qualities. It should set out how these are to be assessed"  therefore sets out what high quality software actually means. Without such a definition, different engineers may work in an opposing way so that different product attributes are optimized.

Quality Reviews
Reviews are the principal method of validating the quality of a process or product.'They involve a group of people examining part or all of a software process. system or lts associate documentation to discover potential problems. There are two broad classes of review:


  • lnspectron
  • Walkthroughs


The main difference between inspection and walkthroughs is the way review meeting are carried out.

In a walkthrough. the team uses pre-selected analyzed program (code design etc.)

ln an inspection, the team uses a checklist of faults/errors to occur in the analyzed program (code, design etc) This list advance. determine whether they should be prepared in

Sunday, October 9, 2016

Modern IT Industry Practices


Downsizing
Downsizing is a type of strategy mainly used by organizations to cut costs during times of hardship. It involves removing certain employees from the organization. Downsizing ' strategies in general first focus on removing non-essential employees, contract workers and so on until all surplus labor is removed from the organization.

Downsizing could be directed to particular organizational functional departments (accounts), staff levels (line managers) or business units (product A).

Advantages of downsizing

  • The organization can remove all unnecessary workers and thus cut down on a great ProPortion of total costs.
  • Gives rise to a more linear and focused form of operations.


Disadvantages of downsizing

  • The organization may have to incur a large sum of money as redundancy PaYments.
  • Skilled employees may expect redundancies and leave for other organizations'
  • Gives rise to a situation of employee instability'
  • Motivation levels maY droP.


De-layering

De-layering is a specific form type of downsizing which is directed towards removing specific structural levels from an organization. The main benefit of this strategy is the large cost saving brought about by laying off expensive administrative staff. The exercise however is criticized since it overloads work and creates uncertainty in the minds of the remaining staff .

Home based work / Teleworking

Home based work is a recent (since the 90s) work pattern which is being increasingly accepted in almost all countries around the world. Brought about by the development of modern technology such as developments in computer systems, communication networks and the internet, it is now possible for several job functions to be performed by individuals without even having to leave their homes.

The system usually works by sending individuals work assignments by e-mail or over corporate VPNs" The work could then be done at the individuals convenience and once completed submitted back to the office via either e-mail, a VPN or similar

Home based work is becoming increasingly popular in professions such as information systems, software development, accounting and similar consulting services.

The advantages being savings in costs such as those associated with transport, office space, etc. However the system is criticized saying that it promotes inefficiencies, delays.
etc.

Data warehousing
Data warehousing is a recent business IS concept that is concerned with maintaining large corporate repositories (banks) of historic information. The information stored could then be used as input for MIS (management information systems) functions such as trend analysis. It is also possible to drill down through these data items to find detailed information which is relevant to a particular topic of interest.

eg : Corporate data warehouses of MNCs.

Data mining

Data mining is another topic of recent interest that emerged in parallel to the concept of data warehousing. Data mining uses a data warehouse as a data source and then enables extraction of data from the data warehouse, which could then be used to aid decision makers. It is often also defined as a tool for MIS and EIS systems' .,

The following is an illustration of the function of data mining'


Thursday, October 6, 2016

Project Planning, Scheduling and Controlling



A typical software project comprises a lot of activities/processes. These activities belong to two broad categories:

  1. Technical activities
  2. Manage€rial activities


In software development projects, requirement analysis, design, implementation etc are the main activities while project planning and control are the managerial activities. Technical activities result in the use of various products and reports by managerial activities to determine, for example, the progress of the project. Managerial activities provide controls for technical activities.

Projects must be carefully planned. The planning process results in a project plan. When the project has started, its execution must be controlled.

For software development projects, planning usually involves:

  • The determination of software scope.
  • Estimations
  • Prediction concerning h/w and s/w resources.
  • Risk analysis(potential Risk & possible solution)
  • Project scheduling
  • Staff organization panning.


Project control/monitoring is a continuing activity. The managers must keep track of the progress of the project and compare actual and planned progress and cost. Although most organization have formal established mechanisms for monitoring, a skilled manager can often form a clear picture of what is going on by informal discussion with project staff.

A software development plan should be used as the driver for the project. The initial plan is not static but should be modified as the project progresses and more and better information becomes available

Project management functions

  • Scheduling
  • Staffing
  • Overlook operations
  • Appraisal


Scheduling
Scheduling is a form of planning, which is made in order to assist project teams to stick to deadlines and avoid exceeding project time lines. It involves analyzing each individual task and then assigning a suitable time limit for each activity. Scheduling usually takes a more detailed form where time lines are specified in terms of earliest start times, earliest finish times, latest start times, latest finish times, duration and slack. Scheduling projects offer many benefits to project teams.

  • Provides a measure of performance in terms of time requirements.
  • Ensures early identification of slow performance which could be corrected at early stages of the projects.
  • Avoids delayed completions which tend to dissatisfy customers and bring penalties to the organization.


A project consists of a series of activities/task. Some activities can be carried out in parallel so order of the activities is not important. Usually however, some activities must precede some others, for example implementation must precede testing, design must precede implementation etc. As we know each activity should have a well defined beginning and end.

Activity usually requires resources such as people, computer, time and always have certain duration. Project scheduling involves the scheduling of all activities so that the workforce is optimally used.

Several techniques are available to support scheduling. The output from the scheduling process is usually a set of chats showing the work breakdown, task dependencies and staff allocation.

One of the most popular tools to represent the set of activities and their constraints rs an activity network(PERT-Project Evaluation & Review Technique)

Commonly used techniques of scheduling include:

  • Gantt Charts - A form of line based chart which indicates time on one axis and activities on the other. It is easy to interpret and diagrammatically represents a basic schedule.
  • Critical Path Analysis (CPA) / Program evaluation review technique (PERT) - A more complex form of scheduling which enables users to calculate slack and float times as well as deal with many varied forms of activities.


Activity network:

In many projects certain task must be finished before others can begin. If that is the case, then some form of charting which allows the dependency to be shown must be used. This is where an activity network is very useful. An activity network is one of the best way to enable a project to be viewed as an entity, revealing the logical relationships and inter dependencies between the components activities.



Critical Path
critical path is a sequence of dependent project tasks that have the largest sum of the estimated duration. It is the path that have no slack time built in. If any of these tasks fail behind schedule, the project completion date will be delayed.

Slack Time
The slack time available for any task is equal to the difference between the earliest and the latest completion times.

Note:
Task that have slack time can get behind schedule by an amount less than or equal to that slack time without having an impact on the projects final. completion date. understanding the critical path and slack resources in a project are. indispensable to the project manager Knowledge of such project parameters influences the people management decisions to be made by the project manager. Emphasis can be placed on the critical path tasks' and if necessary, resources might be temporary diverted from tasks with slack time to help get one or more critical tasks back on schedule

Like all software project management software packages' Microsoft project automatically determines a critical path and marks those bars and arrows in a predetermined color (usually red color)

Gantt Chart
A Gantt chart is a simple horizontal bar chart that depicts project tasks against a calendar. Each bar represents a named project task. The tasks are vertically listed in the left hand column. On a Gantt Chart, the horizontal axis is the calendar timeline. The popularity of Gantt charts comes from their simplicity- they are easy to learn, read, prepare and use. Gantt Chart clearly depicts the overlap of the scheduled tasks. Because system development tasks frequently overlap, this is a major advantage.

Gantt Chart Example:



Staffing
Staffing is concerned with selecting the right people into a project team, identifying their talents and skills and then assigning them to tasks which they are likely to best perform. Like any other resource the staff resource is also likely to be constrained. The project manager should attempt to do best with the team he has been provided.

In simple terms it is selecting the right individual, with the right skills for the right job/task.

Overlook Operations
Overlooking operations refers to a control mechanism which is used to identify inappropriate (poor) performance and adjust performance to suit expected standards. The process takes the following form.



Appraisal
This is the final function in a project. It involves the comparison of overall performance with initial and revised standards in an attempt to identify non-compliance situations and the reasons for such situations. The overall exercise is done in an effort to;

  • Analyze the successful of the current project and determine reward schemes for those involved.
  • Identify weaknesses and take corrective measures in order to improve future performance.


Project Milestones:
A milestone is an end-point of a software process activity/task (end of requirement analysis. end of detailed design, end of integration & testing etc) resulting in a formal progress report that is presented to management.

So milestones are characterized by finished Documentation. As software managers rely on documentation, milestones play a very important part in project monitoring and control. Therefore, when planning a project, a series of milestones should be established. Of course, indefinite milestones must be avoided

Milestones should be carefully planned. If they are too frequent, too much time to spent on preparing documentation. If they are infrequent, project control is difficult" Some project activities do not have to end at a milestone. Many milestones result in simple documentation, for example, a short report that integration testing has been completed.

Some milestones result in deliverable (i.e. documents/products delivered to the customer). Such milestones usually represent end points of major stages such as requirements analysis, design, implementation etc. In waterfall model of the software process, milestones can be easily defined.


Saturday, October 1, 2016

Project Management - Lecture 01



Many large software projects failed in the 1960's and 1970s. The delivered software was to late, unreliable, cost too much etc. Some projects were abandoned" All these problem contributed to software crisis. The software crisis was mainly caused by the use of insufficient management and the software development techniques and tools which were suitable for small scale projects but did not scale up to large projects'

Project management is broadly similar to the overall management function of an organization. this however restricted in scope and is mainly concerned with managing individuality identifiable activities of relatively short time duration (usually less than l year)

Project management involves :


  • Identifying project objectives
  • Identifying Project deadlines
  • The forming of project teams (ie : Selecting members, identifying talents and skills, etc)
  • prioritizing project requirements and obtaining the maximum possible set of resources at the minimum possible cost
  • Scheduling of activities and assigning of tasks
  • implementing Plans
  • Appraise Project Performance


What is Project Management ?
Project management is the process of planning, organizing, and managing tasks and resources to accomplish a defined objective, usually within constraints on time, resources, or cost

Overview of software project management?

Software managers primarily responsible for software project management. This main activity varies tremendously. It depends on the organization, the nature of the project etc. there are however, two main generic activities such as

Project planning and scheduling - to identify task, mile stones and deliverable and to draw up a project schedule.

Project control and monitoring - to ensure that the work is carried out to the required standards, on time and within budget.

There are several important sub activities related to project planning and control: These include:


  • Staff management plan
  • Estimation plan(cost, time, staffing)
  • Quality management plan
  • Configuration management plan( especially important for software maintenance projects).


Software project management is different from other types of engineering project management in number of ways.


  • They are intangible. The project manager is dependent on documentation to review the progress of the project.
  • We do not have a clear understanding of the software process and there is no standard process for a product in software
  • Large software systems are often one off projects(they are distinct from previous projects, so historical experience is of limited value).

Tuesday, September 20, 2016

Information Systems to Different Levels of Management



Transaction Processing System (TPS):

Business transactions are events that serve the mission of the business. They are the primary means by which the business interacts with its supplier, customer, partners, employees and government. Transactions are significant to us because they capture and or create data about and for the business. Examples of transaction include purchases, orders, sales reservation, shipment invoices and payments.

 "TPS are information systems application that capture and process data about (or for) business transactions they are sometimes called data processing systems."

The analysis and design of transaction of transaction processing systems tends to focus on factors such as response time, through put (volume of transaction), accuracy and consistency.

Management Information Systems:

Management information systems supplement TPS with management reports required to plan, monitor and control business operation. A MIS is a information system application that provides for management oriented reporting usually like current sales & marketing, recruitment and so on MIS produce information based on accepted management or mathematical/statistical models

Expert System:

An expert system is an information system application that captures the knowiedge and expertise of a problem soiver or decision maker and then simulates the thinking of thaiexpert for those who have less expertise. Expert sysiems imitate the logic and reisoning of the experts within their respective fields. For example

A food manufacturer uses an expert system to preserve the production expertise of experienced engineers who are nearing retirement Expert systems are implemented with artificial intelligence technology often called expert system shells that captures and simulates the reasoning of the expert


Decision Support System:

A decision support system (DSS) is an information system application that provides its users with decision oriented information whenever decision making situation arises. When applied executive managers, these systems are sometimes called executive information system. A DSS does not make decision or solve problems. People do. Decision support systems are concerned with providing useful information to support the decision making process. In particular. decision support systems are usually designed to support unstructured decisions. Those decision making situation that cannot be predicted in advance. DSS is based on the reality that the information needed to support unstructured decisions already been captured by transaction processing and management information system. The DSS provides the decision maker with tools (data mining tools) to access that information and analyze it to make a decision. In general a DSS provides one or more oi the following types of support to the decision maker:

  • identification of problems or decision making opportunities.
  • identification of possible solutions or decisions
  • Access to information needed to solve a problem or make a decision
  • Tc perform what if analysis
  • simulation of possible solution and their likely results

Friday, September 2, 2016

Levels of Management





Differences can be identified between these kinds of information at the various levels of the organization.

At top management level of the organization, information tends to be ill structured, ad-hoc, informal, external, uncertain, and concerned with the future.

At middle management level information is more structured, formal, internal, regular,certain and concerned with the near future.

At operational management level information is repetitive, programmable, and largely internal and has a very short time- horizon.

The purposes of information therefore changes according to the level at which it is aimed. paradoxically, the higher up organization a manager is the less he will rely on formal information, and yet still needs to be informed (at summary level) of all the organization's activities.

On the other hand, the lower the manager is in the hierarchy, the more he needs to rely on precise and up to date information for his activities; yet he only needs a very limited set of the total information for his own particular activity.

Operational Management:
Requires day to day personnel performance information, machine performance and information on material usage.

At the middle management level:
This can be combined and summarized into exception reports personnel equipment or materials above or below accepted levels and comparisons against budget.

At top management level:
Middle management information can be combined and summarized, and also perhaps at the stage projections or forecasts produced.

Types of Functional Managers

  • Finance manager (Chief financial officer)
  • Production manager
  • Marketing manager
  • Human resources manager IT Manager (Chief information officer)


Board of Directors
These are a set of individuals who are appointed by shareholders to run the business organization on their behalf. The board of directors will usually consist of executive (working) and non-executive (non-working) directors. Their functions include formulation of long term strategies, decision making, appraisal of senior managers and other similar tasks"

Managing Director (Chief Executive)
This !s the individual who is responsible for the overall operations of the business. Usually occupying a seat on the board he/she is responsible for overlooking all functional areas while at the same time communicating operational performance to the board.

Production Manager
This is the individual who is responsible for planning production runs, appraising factory staff, measuring production performance, instructing purchasing managers, improving machinery and technology, etc. His/her function requires a detail understanding of technical systems and that which is associated with the real work environment.

Finance Manager
This is the individual who is responsible for raising suitable debt and equity finance, allocating financing to other operations, investing surplus funds appropriately, overlooking the preparation of financial statements, budget preparation, etc. His/her function requires a detail understanding of financial management and probably accounting skills as well.

Marketing Manager
This is the individual who is responsible for planning promotions, advertising campaigns, making pricing and distribution decisions, brand management, labeling, etc. He/she should be a good communicator, have a broad understanding of customer views and also be able to manage their requirements effectively.

Human Resources Manager
This is the individual who is responsible for identifying labor requirement, selection, recruitment, appraisal and training of the general employees of an organization. He/she should be a good communicator, have a broad understanding of employee views and be able to negotiate and motivate most employees.

IT Manager (Chief Information Officer)
This is the individual who is responsible for managing all IS related activities within an organization. His/her functions includes;

  • Formulating long term IS strategies.
  • Appraising IS systems.
  • Selecting, recruiting and training IS staff.
  • Servicing the information requirement of all aspects of the organization (most important)
  • Ensuring timely upgrade of hardware and software systems.
  • Training general staff in using IS facilities.
  • Overlooking organizational computer and communication systems.
  • Making recommendations on IS related activities to the board of directors

Thursday, September 1, 2016

Management and Organization



Although management is recognized as a vital activity in virtually all organizations, it is in fact very difficult to obtain agreement about the precise definition of what management is. At the most basic level, it is sometimes referred to as the art of getting things done through other people. This emphasis the fact, that managers achieve results by getting others to perform certain tasks.

Definition:

"Management is the process of designing and maintaining an environment in which individuals, working together in groups, efficiently act selected aims"

Also;

  • Management applies to any kind of organization
  • Management can take place at variety of organizational levels.
  • The aim of all managers is the same: to create surplus
  • Managing is concerned with productivity


Functions of Management

A manager performs 5 functions in an organization. They are;


  • Planning
  • Controlling
  • Organizing
  • Coordinating
  • Commanding


Planning: All managers constantly plan for the future planning will generally include the following steps or stages.


  • Setting objectives
  • Developing alternatives to achieve objectives
  • Evaluating the alternatives
  • Selecting the best alternative
  • lmplementing
  • Review of success


Controlling: The function of monitoring the actual event and if there are any changes from the plans, taking action to correct them.

Organizing: Dividing the work among different individuals providing the relevant resources and seeing to that the different individuals are working towards the designated tasks.

Coordinating: There may be a large number of organizations performing variety of activities if the organization is to be successful, they have to work together and there should be coordination.

Commanding: According to Fayol (Fayol is an author) a manager issues commands which are followed by others. This term commanding through suitable in Fayol's times may not be applicable to the modern work force. A modern manager should be regarded as playing the following roles instead of commanding.

  • Leading Communicating
  • Motivating ' Decision Making


Information Systems Related Roles and Positions

IT Director/Chief information officer (CIO)
As a member of the board of directors, the IT director is responsible for all IS/IT activities within an organization. The role of the CIC is almost identical to that of the lT director. However he/she is also responsible for servicing the information requirement of the board of directors as well as controlling information flows and ensuring that adequate information is available across the organization.

IT Manager
The individual who is responsible for all aspects of information technology and related services within an organization. His/her functions include; formulation of long term IS strategies, appraisal of systems, communicating with the board, ensuring timely update of organizational computer systems, IT staff recruitment, etc.

Database Administrator (DBA)
The individual responsible for managing an organizations database systems. His/her functions include; setting up database systems, monitoring database operations, periodic backup taking, database maintenance activities, maintenance of the data dictionary, etc.

Systems Analyst
Is responsible for studying the existing system within an organization by means such as observation, interviews, etc. He / she is also responsible for documenting and making recommendations to systems designers.

Systems Designer
Is the individual who obtains the analysis report from the systems analyst and then uses this recommendation to construct a design for a new system. The functions performed by the systems designer include : Design of information flows, process planning, design of file structures, screen design, etc.

Application Programmer
Is the individual who is responsible for converting paper designs of the new system into a set of working applications. His/her role is often termed as the individual who is responsible for converting ideas into reality in a software systems context. The tasks performed include coding, screen design and testing.

Web Designer
A relatively new role to emerge in the IT industry. a web designer is usually referred to in context of small firms. He 1 she is usually responsible for or involved in analyzing, designing, developing and implementing a web based solution such as a web site for a client. Creativity and skill are of the essence for such individuals.

Maintenance Staff
These are the individuals who are responsible,for carrying out hardware and software maintenance activities with respect to information systems within an organization. Their main tasks include : upgrading hardware devices, upgrading software applications, troubleshooting, repairing damaged machines, dealing with viruses and other similar security breaches.

Data Entry Operator
Traditionally a data entry operator was considered to be an individual who read through hard copies of data and then keyed in (typed) the data as input to computers for later processing. The role at present is taken to be one, which is involved with performing repetitive tasks such as the work done by cashiers at supermarket terminals.


Organization Structure




All organizations have some form of structure which should facilitate the implementation of strategy and the achievements of objectives. In simple terms an organization structure can be defines as an established pattern of relationships among -the individuals, groups and departments within it. Although this pattern can be changed from time to time, the structure of the organization is relatively static framework within which process such as communication, leadership and decision making takes place. organization structure is concerned within which the way work is divided up and allocated, and how coordinated to achieve objectives is described as an organization's basic structure and in some organizations it will be illustrated in the form of a chart.

Types of Organizational Structures


Entrepreneurial Structure

A small organization is likely to have little in the way of formal structure, because the owners or managers can deal with most things on a personal face to face basis. It might be said to have an entrepreneurial structure, whereby everything revolves around one or a few central decision makers.

Functional Structure


The most common form of structure adopted when an organization has outgrown the entrepreneurial one is the functional structure. This divides the organization up into its main activities or functions (production, Sales, accounting and so on) and places manager in charge of each function under the overall control of the owner or a senior manager' This form of organization has a number of potential advantages, including: efficient use of specialized resources; and a career structure that enables people to advance within their functional specialism.

Divisional Structure

Example: Product base division:
This is a name, a sign or a symbol which helps to identify a product from other similar products. A manager is appointed in charge of a product or a brand and he & his subordinates are responsible for their products and brand performance.



Advantages:

  • Better communication and co-ordination.
  • Clear responsibility for the performance of products and markets.
  • Specialization can be developed. (A sales person who is handling a particular type of hardware can develop knowledge in technical side and deliver a better service)


Disadvantages:

  • There may be too many managers increasing the organization cost.
  • There may not be a proper coordinated approach with regard to targeting customers. The same customer may be approached by different sales people of the company.


Geographical Based Structure

A manager is appointed for each region and he/his subordinates are responsible for all the organizations activities in that region.



Advantages:

  • Large organization needs such a structure to operate in many areas successfully
  • TransPort cost are minimized
  • Better controi over pedormance
  • Very fast & good decision making
  • Regional taste and preferences can be effectively carried


Disadvantage:
Cost will be high due to high degree of duplication of activities (Example: more sales reps, accounts executives, show rooms, etc.)

Matrix Structure

Matrix structure seeks to add flexibility and co.ordination to traditional vertical hierarchy. One way of doing this is to create project teams made up of members drawn from a variety of different functions or divisions: each individual then has a dual role, as he/she maintains functional/divisional responsibilities. As well as memberships of the project. The matrix structure is sometimes appropriate for large multi- product companies which have significant interrelationships between their various operating units. If implemented this form of structure can:




  • Help to improve decision making by bringing a wide range of expertise to problems
  • Improve lateral communrcation and co-operation between specialists
  • Most suitabie for IT Projects

Classification of Organizations - (Flow of Information) Lecture 03



Flow of information within an organization can be divided in to two groups.
  1. Vertical flow (top-down or bottom up)
  2. Horizontal flow



Vertical flow

This is where two or more individuals at different levels of the corporate hierarchy communicate with one another. At such a point one would automatically become the superior while the other becomes the subordinate.

Example:
A line manager reports to the production manager.



Horizontal flow

This is where two or more individuals at the same level of the corporate hierarchy communicate with one another. At such a point neither there is a superior nor subordinate.

Example: 
A marketing manager discusses a marketing plan with the production manager.


Classification of Organizations - (Stakeholder Groups) Lecture 02



Stakeholder
A stakeholder is someone who could affect or tends to be influenced by the activities of a business organization. A stakeholder could be an individual, an organization, a group of people or any other such entity.

Internal Stakeholders


  • Shareholders, Investors (such as banks & financial institutions)
  • Managers
  • Employees
  • Contract staff


External Stakeholders

  • Suppliers
  • Creditors (people who we owe money to)
  • Customers
  • The government and local authorities general community / Cause / Pressure groups

Shareholders

These are the people who have invested in the equity (seed) capital of the business. They are considered to be the owners of the business entity and hence take a great risk on their investment. It is natural that they also expect high returns. Their expectations include : capital gains and returns on investment in the form of dividends.

Their expectations include:
  • Capital gains on sale of shares
  • Adequate returns on investment in the form of dividends
  • Security of their investment (confidence that their investment is safe)
  • The right to participate in annual general meetings
  • Their comments to be heard and considered by the BOD

Financial Institutions

These are organizations such as banks and debt providers who have provided loans to the firm.

Their expectations include:
  • Timely payment of interest and capital repayment
  • Security for their investment

Managers

These are the top most individuals in a firm. Comprising of the BOD, the MD and the senior managers they would tend to be one group which would be greatly affected by the affairs of a business. Similarly they are capable of exerting a significant influence on all business activates.

Their expectations include :
  • An industrially competitive remuneration package
  • Promotional prospects
  • Job security
  • Adequate training and personality development
  • A suitable and stress free work environment
  • Adequate authority to perform their job functions

Employees

These are the ordinary workers, office staff and other full time employees of the organization. The group as a whole is considered as the workforce of an organization and they tend to exept their influence through trade unions and other employee groups.

Their expectations include:
  • Reasonable wages
  • Promotional prospects
  • Job security
  • Safe and secure work environment
  • Adequate training
  • Jobs free from discrimination

Contract Staff

This group of individuals are similar to employees, however they have limited ability to influence business decisions as they work on a contract basis. Contracts usually require renewal and could be cancelled at short notice. They are likely to have lesser statutory entitlements than employees. However recent regulations in the EU devotes greater attention to the needs of such staff .

Suppliers

These are the providers of. raw materials and other support good and services to an organization.

Their expectations include:
  • Adequate orders
  • Timely settlement of debts
  • Steady rise in orders
  • Reasonable requests that could be compiled with
  • Reasonable prices for their products and services

Creditors

These are individuals and organizations who are owed money by the organization.

Their expectations include:
  • Timely settlement of debts.
  • Adequate interest if delayed.

Customers

These are the individuals or organizations who purchase the products of the business.

Their expectations include:
  • Quality products
  • Reasonable prices
  • Good after sales service
  • Availability and range to choose from

Government and Local Authorities

The government takes an interest in business organizations due to several reasons.

These include:
  • Taxation (a source of revenue for the government)
  • When planning subsidies and assistance schemes
  • Checking compliance with legal and state policies
  • Assessing corporate ethical behavior

General Community

The general community would be concerned with the impact a business organization has on it's surrounding environment. For instance they maybe concerned about pollution, noise, disturbance, etc while at the same time show positive responses towards the creation of job opportunities and assistance to regional entities such as schools.

Cause / Pressure Groups

Focus on a particular issue and attempt to influence business activities in this respect.

Examples: 
  • Animalwelfare
  • Employment
  • Anti smoking pressure groups

Classification of Organizations - Lecture 01



For most of our lives we are members of one organization or another - college sports team, a musical group, religious organization, a branch of armed forces or a business. Some organizations, like the army and large corporations, are structured very formally. Others, like a neighborhood basketball team, are more casually structured. But all organization, formal or informal are put together and kept together by a group of people who see that there are benefits available from working together towards some goal. So a basic element of any organization is a goal or purpose (the purpose that an organization strives to achieve; or organization often have more than one goal; goals are fundamental elements of an organization)

Objectives of Organizations

  • Provision of a service
  • Profit maximization
  • Growth (expansion of market share)
  • Support other organizations
  • At times of hardship - Survival

Classifications of organizations


  1. By ownership
  2. By scale
  3. By objectives
  4. By sector
  5. Other classifications

Organizations - Classified by Ownership


  • Sole trader (1 owner)
  • Partnership (2-20 partners)
  • Limited liability company
  • Private limited company (Pvt)
  • Public limited company (PlC)


Sole Trader
A sole trader business is a private business which is set up and managed by a single individual. He/she makes the entire investment, enjoys the benefit of all returns and takes all risks relating to the business activities'

Example: Mark starts a hardware shop by his own

Partnership
A partnership business is one which is set up and operated by 2-20 partners. Usually coming from different specializations, they pool their strengths towards the development of the combined entity. The advantage of attracting a relatively larger amount of capital exists however it too is constrained by the unlimited liability of owners.

Example: Fred and David starts a software development company

Limited Liability Company
This is where several individuals invest and create a separate legal entity which functions without the assistance of it's owners. A board of directors is appointed by the shareholders to carry out the business activities on their behalf. The main benefits being that it's easy to raise a larger amount of capital as well as the benefit of limited liability.

Example: McFloyed Technologies (Pvt) Ltd

Organizations - Classified by Scale


  • Multinational Companies (MNCs)
  • Holding Companies


Multinational Companies
A multinational company is considered to be a large scale company which operates in both a local country and several foreign countries with at least a single production plant being in operation in a foreign country.

Holding companies
These are companies that usually avoid conducting ordinary business activities. Instead they hold on to controlling interest of other companies (both private and/or public) and investments. They obtain returns from these investments which they in turn distribute among their own shareholders.

Organizations Classified by Objectives


  • Provision of a service (Government Sector)
  • Profit maximization
  • Expansion of market share
  • Survival


Provision of a Service
Most government sector organizations (till recent times) placed more emphasis on providing required services for the benefit of the general public with less emphasis being placed on making profits. Sports clubs are yet another form of organization which focus on the provision of a service.

Profit Maximization
Most private sector companies attempt to maximize sales revenue while at the same time reducing costs and focusing on more effective and efficient operations. Thus generating greater profits which may either be re-utilized or returned to investors in the form of dividends.

Example: Most private sector organizations.

Expansion of Market Share (Growth)
Certain private and public sector companies maybe willing to forego current excess returns and instead reinvest these in improvement measures in order to gain more market share and thus potential increased returns in future.

Survival
This becomes the main objective of most firms at times of hardship such as recession, downturn of individual business, etc. They realize that they would not be able to make profits but instead focus on covering operational costs in an attempt to survive (avoid closure) until market conditions improve.

Organizations Classified by Sector


  • Public sector (managed by the government)
  • Private sector (owned and managed by individuals and other private companies)


Public Sector
The public sector refers to organizations that are owned by the state and run by the government or appointed management teams. The main objective of such organizations is to provide a service which is either desired or needed by the general community.

Private Sector
The private sector refers to business organizations that are owned and managed by either individuals or other private sector organizations. Their main objective is usually to maximize shareholder wealth and thus provide high returns to it's investors.

File Organization



A file organization essentially means organization of records in the file. Efficiency and utility of the file organization over another very much depends on the intended use of the file. Some of the basic file organization techniques are:

Serial File

In serial file records are collected in the order they arrive. When a new record is to be inserted, it is placed in the last block if there is a space. lf the last block cannot accommodate the record, a new block is allocated and the record to be inserted is placed. Deletion is performed by setting a flag called the deletion bit in the deleted record. Reusing the space of deleted records by storing new records which are to be inserted, is difficult. However, "garbage collection" routines can be used to keep track of the deleted records and the reusable space.

Since the record in a serial file are collected as they arrive without any prior analysis, categorization or normalization, searching a specific records from a serial file would often lead to an exhaustive search of the entire file.

Thus the time required to locate a record in a serial is very high if the file is speared over more than a few blocks. However, insertion of a new record into a serial is less time consuming. The address of the end of the file is known and the data is simply stored at the end and the end of file marker is appropriately shifted. Since updating a record in the serial file requires locating the desired record first, updating cost is also quite high for such file. In fact, the high retrieval cost of serial files is responsible for the restricted use of such files. The serial file organization is generally used for small files or when the data is collected prior to processing and where the data is difficult to organize.



Sequential File

In a sequential file records are placed sequentially onto the storage media. In addition, the records in the file are usually ordered according to the values of key attributes' The key is used to identify record uniquely. In a sequential search, since the records are examined according to the key sequence, in the worst case one may have to access all the n blocks of the file. i-n sequential file the successor record is immediately available and may even be present at the same block.

The insertion of a record in a sequential file is a complicated process. Normally the sequence would not be maintained if the new record rs inserted at the end. For small files, records beyond the point of insertion can be moved further to accommodate the new record. The insertion are usually done in batches where all the insertion request are stored in a separate file and at later time a batch update is executed.

Deletion of records can be performed by setting the deletion flag in the record to be deleted. When several records have been deleted, the file is reorganized to eliminate the gaps created in the file due to deletion.

Finally the updating of records in a sequential file may involve all the complications of insertion. Note that, The sequential file would not allow the insertion of records larger than the original record stored. If the key value is not changed and the updated record length does not exceed the original record length, the record may be rewritten to the original file. When the key value is changed or the record length increases, the update is similar to the insertion of a new record

Sequential files are frequently used in batch oriented commercial processing where insertion, deletion or updation are generally carried out in a batched mode, In this environment, get next type of command ii frequently used to retrieve or process successive records. For instance, the accounts department of a company while preparing salary statements would normally process the pay slips of all the employees of a particular department in a sequence. Hence if the employee records are stored with the Dept-no as the primary key, then specifying the Dept-no, the first employee record in the department is retrieved. The remaining employee records in the same department can now be readily accessed without much effort, using repeated get-next types of commands'

In spite of its simplicity and the advantages mentioned above, sequential files are not suitable in an environment where data has to be retrieved or updated in a more or less random order



Indexed Sequential File

The index sequential method of file organization attempts to reduce the access problem inherent in the sequential flies, without losing the benefits cf a sequential file organization.

This type of organization enables the user to process records either in a serial or in a random manner. The indexed sequential file, as the name suggests, is provided with indexes associated with the file. The indexes can be used to quickly locate any given record for random processing. Another important feature associated with an index sequential file is the use of an overflow area to handle insertion to the file. Unlike sequential file it is no longer required to rewrite the entire file when the records are inserted or updated. Indexed sequential file has three major components, namely


  • Prime area (sequential file)
  • Overflow area
  • Index


The Prime Area
The prime area can be defined-as an area in which the records are written, when an indexed sequential file is originally created. The records in the prime area follow a strict key sequence. Hence the prime area is essentially a sequential file. In order to insert a record into the file a free area called an overflow area is associated with each file. It is to be noted that at the time an indexed sequential file is created, no records are placed in the overflow area

The Overflow Area
It has already mentioned that the overflow area(s) s essentially used to store new records which cannot be otherwise be inserted in the prime area without rewriting the sequential file. There are two types of overflow areas called the cylinder overflow area and the independent overflow area. In Cylinder overflow area the spare space in every cylinder is reserved for accommodating the overflow records. Thus overflow area is on the same cylinder as the prime area. This procedure has the advantage that locating an overflow record may require rotational delay but not a seek time. In an independent overflow area the overflow records from any where in the prime area maybe placed. The size and address of the independent overflow area maybe specified by the programmer. In this case maybe additional seek time may be required.



Hashed File

Hashing is a technique for providing fast direct access to a specific stored record on the basis of a given value for some field. The field in question is usually but not necessarily the primary key. In outline the techniques work as follows.


  • Each stored record is placed in the database at a location whose address (RID or page number) is computed as some function (the hash function) of some field of that record. The computed address is called the hash address.
  • To store record initial the DBMS computes the hash address for the new record and instructs the file manager to place the record at that position.
  • To retrieve the record subsequently give the hash field value, the DBMS performs the same computation as before and instructs the file manager to fetch the record at the computed position.
  • When two or more keys of a file are mapped into the same address by the hash function the event is referred as collision.


Hashed files must have a mechanism for handling collision. A collision occurs when two logical values are mapped into same physical key value. Suppose we have a logical key value 2034; we find that feeding this key value through the hash function that computes the relative block address 12. A little later we try to insert a record with the key value 5678. We find that this also translates to relative block address 12. There is no problem if there is space in the block for the record. As the size of the file grows blocks are likely to f ill up.

If the file manager cannot insert a record into the computed block then a collision is said to have occurred. One of the simplest schemes for handling collision is to declare an overflow area into which collided are placed. As the hashed file grows, however the number of record placed in the overflow are increases. This can cause degradation in the access performance. Various type of hashed files are now also available which dynamically resize themselves in responsible to update activity.

Physical Database Design



The physical or internal level organization of a database system is concerned with the efficient storage of information in the secondary storage devices. At this level we are no longer concerned with the application programmers views of the database. The physical to conceptual level mapping must provide the necessary shield to the user. The basic problem in physical database representation is to select a suitable file system to store the desired information. The file consists of records and records may consist of several fields.

The typical operations that may be performed on the information stored in the file are as follows.


  • Retrieve: To find a record (or sets of records) having a particular value in a particular field or the field value satisfies a particular condition.
  • Insert: Inserts a record or sets of record at some specific locations.
  • Update: Modifies the field values of a record (or sets of records)
  • Delete: Deletes a particular record or sets of records


The efficiency of a file system depends on how efficiently these operations can be performed on the file. However, the efficiency of these operations on a particular file may depend on the type of queries the file system needs to process. For instance a sequential file system turns out to be quiet efficient for an application where most of the storage and retrieval of record are performed sequentially. The same file system turns out to be inefficient in an environment where records are to be retrieved or updated randomly.

Tuesday, August 30, 2016

Multimedia and Hypermedia


What is Multimedia

Multimedia is the name given to the use of a combination of media types including still images, audio, video and motion graphics. Multimedia has moved from being an advanced technology to an essential feature of almost any PC. The main benefit is that it makes the whole user experience more dynamic, colorful, interactive and interesting.

Components of multimedia


  • Images - Clip arts, photos, user designed graphics
  • Audio - sound clips(wav), audio tracks (mp3) Video - Standard video (.avi and .dat), Internet
  • Video (real video, video conferencing files)
  • Motion clips - animated gifs, quick time animations, mpeg clips.


Advantages of multimedia applications


  • Tends to be more interactive
  • Preferred by inexperienced users
  • Preferred by children
  • Gives a whole new dimension to computing
  • Reduces boredom since multimedia applications are more interesting to use

Disadvantages of multimedia applications


  • Requires a large amount of system resources (memory, disk space, etc)
  • Users may loose focus of actual intended tasks. Multimedia applications and systems take a longer times to load up


What is Hypermedia

Hypermedia is a form of media that was brought about in support of the internet. It is based on a linked collection of web pages which in combination form a web resource or web site. Simple web pages are created using descriptions which are placed within specific tags. Hypermedia includes the use of textual web pages, a link based navigation system and the use of other web based content such as web graphics.

Web page
A web page is a single html (hypertext markup language) page.

Web site
A web site is a collection of interlinked web pages which contain content which is relevant to a particular subject or topic.

Hyperlink
A hyperlink is a tag based link which enables users to access other web pages or other web resources by simply clicking on it.
Eg: Clicking on a link at the right side of this website

Web address (URL)
A URL (uniform resource locator) is a simplified web address which enables users to access web resources such as web sites by simply entering their name with the appropriate extensions.



IP address
Internet protocol address is the assigned address of a machine which is connected to the internet.
Type "what is my ip" on the google search to see your IP address.

Download
The term could be considered as either a noun or a verb. The noun implies a download to be a program or file which is saved to ones machine through the net. The verb defines this process.

Mp3
A groundbreaking innovations which enables the compression of audio into a web enabled format with marginal loss of quality. The sound quality in an mp3 file is almost the same as digital CD audio tracks. However its file size is a fraction of its counterpart. Thus making it ideal for transferring audio over the internet.

Search engine
A type of web site that enables users to search for other web sites by simply entering a keyword. The search engine site is likely to have a back end database and using query tools it checks for matches to the users requests. If found matches are indicated along with links and descriptions about corresponding web sites.

Important Notice!

Dear students and friends. When you commenting please do not mention your email address. Because your email address will be publicly available and visible to all. Soon, it will start sending tons of spams because email crawlers can extract your email from feed text.

To contact me directly regarding any inquiry you may send an email to info@bcslectures.website and I will reply accordingly.