2011年4月10日星期日

Chapter 15 Your Future and Information Technology

Is Your Information Technology Team Ready for the Future?

Leadership & Talent
A Shifting Landscape Impacts Critical Leadership Competencies
Succession planning is a fundamental activity within every corporate function. For Information Technology (IT), it is especially important as technology’s role as a business enabler continues to grow. Constantine Alexandrakis and the Information Officers Practice present the firm’s findings on the shifting landscape of IT organizations and the critical competencies for key IT roles.

The Shifting CIO Role

Much has been written recently about the evolution of the Fortune 500 chief information officer (CIO) from technology caretaker to business strategist. As the impact of technology has grown across global enterprises, IT has become critical to every corporate function, and IT effectiveness has become a competitive weapon.
From supply chain to marketing and sales, the CIO is now expected to understand the strategic levers in each function, and to provide detailed insight into and oversight of the functions’ use of data and technology in ways that bolster the corporation’s bottom line.
Critical CIO Personal and Performance Competencies
Corporate productivity is driven increasingly by IT’s ability to make data available to decision makers anytime, anywhere. Consequently, the CIO must understand the company’s products, services and structure like never before and wear a number of different hats while working with internal and external stakeholders globally. In addition to critical knowledge and experience, world-class CIOs possess a portfolio of personal and performance competencies that define them as true business partners within the corporation.

Succession Planning Implications

Systematic succession planning ensures that the right competencies are being recruited into the organization and are nurtured and developed over time to guarantee smooth transitions when future vacancies arise. With respect to succession planning for the CIO position and broader IT organization, to effectively support the shifting CIO role the IT team below the CIO often requires refinement. In addition to providing the right raw material for ensuring that the CIO pipeline is properly developed, the new IT team must be flexible and nimble enough to adjust to the shifting IT demands of the business.
While specific areas of IT will emphasize the development of particular competencies, the underlying theme of raising the business relevance of all members of the CIO’s team is critical. This is true despite the fact that companies vary widely in their approach to IT organizational structure.
Sample IT Organizational Models

Shifting Priorities of the CIO’s Leadership Team

Regardless of organizational structure, every area within IT is witnessing a fundamental shift in its focus and, consequently, a shift in the priorities and capabilities required of the leaders of each core IT area.
Shifting Priorities and Capabilities

Translating Shifting Priorities Into Required Competencies

The new priorities and required capabilities of the CIO’s core team alter the screening criteria for the recruitment of these individuals as they help populate the succession plan for the future CIO of the enterprise. The competencies of the CIO’s direct reports must correspond with the key competencies of the best-in-class CIO. This not only helps to directly support the efforts of the CIO, but also helps to systematically cultivate future CIO competencies within members of the broader IT team, for succession planning purposes. While certain competencies will be required of all the CIO’s direct reports, others can be prioritized depending on the area within IT that he or she serves.
Rising IT Leadership Competency Inventory

Conclusion

Ultimately, the specific competencies an organization uses to screen, assess and develop IT talent for present needs or succession planning must be customized for the specific corporation. Most important is to develop a comprehensive plan for IT talent management that ensures the corporation’s rapidly evolving IT needs are fulfilled by outstanding leaders.

The IT Expertise of Russell Reynolds Associates

Russell Reynolds Associates helps clients assemble the right IT teams to achieve their short- and long-term goals. We help recruit CIOs and direct reports of the CIO who can drive positive change within the IT function and the broader business, while strengthening the CIO succession planning process. We partner with our clients to help them articulate their IT needs at the CIO level and beyond, and then deliver professionals with the critical ­competencies that will help their companies thrive.

Author

Constantine Alexandrakis is a consultant at Russell Reynolds Associates, with expertise in recruiting senior technology professionals across all industries.


Chapter 14 Programming and Language

About this chapter,it's talking about programming and languages.The programming and languages is important information in computing, the computer operation need this.
What is programming languages?
   programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human communication.
Syntax
  A programming language's surface form is known as its syntax. Most programming languages are purely textual; they use sequences of text including words, numbers, and punctuation, much like written natural languages. On the other hand, there are some programming languages which are more graphical in nature, using visual relationships between symbols to specify a program.
The syntax of a language describes the possible combinations of symbols that form a syntactically correct program. The meaning given to a combination of symbols is handled by semantics (either formal or hard-coded in a reference implementation). Since most languages are textual, this article discusses textual syntax.
Programming language syntax is usually defined using a combination of regular expressions (for lexical structure) and Backus–Naur Form (for grammatical structure). Below is a simple grammar, based on Lisp:
This grammar specifies the following:
§ an expression is either an atom or a list;
§ an atom is either a number or a symbol;
§ a number is an unbroken sequence of one or more decimal digits, optionally preceded by a plus or minus sign;
§ a symbol is a letter followed by zero or more of any characters (excluding whitespace); and
§ a list is a matched pair of parentheses, with zero or more expressions inside it.

How to learn programming language?

  • 1
    Decide what you want to do. Some programming applications with strong Web presence and good materials for beginners are game programming, Web site creation, automation of common tasks ("scripting"), text processing, and scientific problem solving. If you just think programming would be cool to learn and don't have any specific applications in mind, that's okay, but thinking about what you want to program in advance will help you make informed decisions during your learning experience.

    Get Study Tips For UPSR

    Sample Questions & Study Tips To Help Students Prepare For UPSR.
    www.Astro.com.my/TutorTV

  • 2
    Choose a programming language. Start with C to understand how exactly programs run and interact; then move on to C++. Python is a good general-purpose language, and it is easy to learn as well as being very powerful for all kinds of applications. Perl and Java are other popular languages for beginners. Research your target application to learn if there are languages you should definitely know (e.g. SQL for databases) or avoid. Don't be confused by jargon like "object-oriented", "concurrent", or "dynamic"; these all mean things, but you won't be able to understand them until you actually have some programming experience.

  • 3
    Find learning resources. Search the Web for good places to start on the languages mentioned above, and be sure to check the language's home page (if it has one) for an official guide or handbook. Also, find someone who already knows how to program. Online tutorials are nice, but they can be frustrating at times if you can't get answers to specific questions.

  • 4
    Start small. You can't expect to write a bestselling 700-page masterpiece if you have no practical writing experience; programming is the same way. Start with basic constructs and write small programs (10 to 30 lines) to test your understanding of the concepts. Stretch yourself, but don't try to run before you can walk.

  • 5
    Put in the time. It takes many hours of practicing problem-solving skills on different types of problems before you can call yourself an expert. Project Euler has many small programming assignments, ranked roughly by difficulty, that are useful for honing your skills and keeping in practice.

  • 6
    Keep at it. Programming can be very frustrating, but successfully completing a program can be intensely satisfying. Don't give up if you don't understand a concept; programming can be a very abstract thing to learn. When working on a particularly intricate problem, take periodic breaks to let your brain relax and relegate the problem to your subconscious mind.


  • 2011年4月5日星期二

    Chapter13 System Analysis and Design

    System Analysis and Design
    INTRODUCTION
    Systems are created to solve problems. One can think of the systems approach as an organized way of dealing with a problem. In this dynamic world, The subject System Analysis and Design, mainly deals with the software development activities.
    OBJECTIVES
    After going through this lesson, you should be able to:
    • understand a system
    • understand the different phases of system developments life cycle
    • know the components of system analysis
    • know the components of system designing
    Defining A System
    A collection of components that work together to realize some objective forms a system. Basically there are three major components in every system, namely input, processing and output.
    SYSTEM LIFE CYCLE
    System life cycle is an organisational process of developing and maintaining systems. It helps in establishing a system project plan, because it gives overall list of processes and sub-processes required developing a system.
    System development life cycle means combination of various activities. In other words we can say that various activities put together are referred as system development life cycle. In the System Analysis and Design terminology, the system development life cycle means software development life cycle.
    Following are the different phases of software development cycle:
    • System study
    • Feasibility study
    • System analysis
    • System design
    • Coding
    • Testing
    • Implementation
    • Maintenance

    PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
    Let us now describe the different phases and the related activities of system development life cycle in detail.
    (a) System Study
    System study is the first stage of system development life cycle. This gives a clear picture of what actually the physical system is? In practice, the system study is done in two phases. In the first phase, the preliminary survey of the system is done which helps in identifying the scope of the system. The second phase of the system study is more detailed and in-depth study in which the identification of user’s requirement and the limitations and problems of the present system are studied. After completing the system study, a system proposal is prepared by the System Analyst (who studies the system) and placed before the user. The proposed system contains the findings of the present system and recommendations to overcome the limitations and problems of the present system in the light of the user’s requirements.
    To describe the system study phase more analytically, we would say that system study phase passes through the following steps:
    • problem identification and project initiation
    • background analysis
    • inference or findings
     (b) System Analysis
    Assuming that a new system is to be developed, the next phase is system analysis. Analysis involved a detailed study of the current system, leading to specifications of a new system. Analysis is a detailed study of various operations performed by a system and their relationships within and outside the system. During analysis, data are collected on the available files, decision points and transactions handled by the present system. Interviews, on-site observation and questionnaire are the tools used for system analysis. Using the following steps it becomes easy to draw the exact boundary of the new system under consideration:
    • Keeping in view the problems and new requirements
    • Workout the pros and cons including new areas of the system
    All procedures, requirements must be analysed and documented in the form of detailed data flow diagrams (DFDs), data dictionary, logical data structures and miniature specifications. System Analysis also includes sub-dividing of complex process involving the entire system, identification of data store and manual processes.
    The main points to be discussed in system analysis are:
    • Specification of what the new system is to accomplish based on the user requirements.
    • Functional hierarchy showing the functions to be performed by the new system and their relationship with each other.
    • Function network which are similar to function hierarchy but they highlight the those functions which are common to more than one procedure.
    • List of attributes of the entities - these are the data items which need to be held about each entity (record)
    (c) System Design
    Based on the user requirements and the detailed analysis of a new system, the new system must be designed. This is the phase of system designing. It is a most crucial phase in the development of a system. Normally, the design proceeds in two stages :
    • preliminary or general design
    • Structure or detailed design
    Preliminary or general design: In the preliminary or general design, the features of the new system are specified. The costs of implementing these features and the benefits to be derived are estimated. If the project is still considered to be feasible, we move to the detailed design stage.
    Structure or Detailed design: In the detailed design stage, computer oriented work begins in earnest. At this stage, the design of the system becomes more structured. Structure design is a blue print of a computer system solution to a given problem having the same components and inter-relationship among the same components as the original problem. Input, output and processing specifications are drawn up in detail. In the design stage, the programming language and the platform in which the new system will run are also decided.
    There are several tools and techniques used for designing. These tools and techniques are:
    • Flowchart
    • Data flow diagram (DFDs)
    • Data dictionary
    • Structured English
    • Decision table
    • Decision tree
    Each of the above tools for designing will be discussed in detailed in the next lesson.
     (d) Maintenance
    Maintenance is necessary to eliminate errors in the system during its working life and to tune the system to any variations in its working environment. It has been seen that there are always some errors found in the system that must be noted and corrected. It also means the review of the system from time to time. The review of the system is done for:
    • knowing the full capabilities of the system
    • knowing the required changes or the additional requirements
    • studying the performance
    If a major change to a system is needed, a new project may have to be set up to carry out the change. The new project will then proceed through all the above life cycle phases.
    PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
    Let us now describe the different phases and the related activities of system development life cycle in detail.
    What You Have Learnt
    In this lesson systematic approach of any given problem is explained. Computer based systems are defined. System development life cycle is discussed in detail. The different phases of the development of system life cycle are explained in detail.
    Terminal Question
    1. Define a system. Explain the components of a system.
    2. What do you understand by system development life cycle?
    3. Discuss the importance of system analysis and design in the development of a system?