Wednesday, January 29, 2014

Assignment Chapter 15 (Final)

Lecturer : Mr. Tri Djoko Wahjono, Ir., M.Sc

Name : Agatha Virgitia Darmawan

Student ID : 1701338122

1.       What Career Opportunities Are Available in the Computer Industry?

 Career opportunities in the computer industry fall into several areas. In most medium and large businesses and government offices, staff in an IT department is responsible for keeping all computer operations and networks running smoothly. They also determine when and if the organization requires new hardware or software. Workers in the computer equipment field manufacture and distribute computers and computer-related hardware. Employees in the computer software field develop, manufacture, and support a wide range of software. People in the computer service and repair field provide preventive maintenance, component installation, and repair services to customers. Computer salespeople determine a buyer’s needs and match these needs to the correct hardware and software. Computer educators and corporate trainers teach students and employees how to use software, design and develop systems, write programs, and perform other computer-related activities. An IT consultant is a professional who draws upon his or her expertise in a specialized area of computers and provides computer services to clients.

2.       What Are the Functions of Jobs in an IT Department?

An IT department provides career opportunities for people with a variety of skills and talents. Usually, these jobs are divided into six main areas. Jobs are listed in the area most often referenced, but also may fall in other areas.
1. Management — directs the planning, research, development, evaluation, and integration of technology.
2. System development and programming — analyzes, designs, develops, and implements new information technology and maintains and improves existing systems.
3. Technical services — evaluates and integrates new technologies, administers the organization’s data resources, and supports the centralized computer operating system and servers.
4. Operations — operates the centralized computer equipment and administers the network, including both data and voice communications.
5. Training — teaches employees how to use components of the information system or answers specific user questions.
6.  Security — develops and enforces policies that are designed to safeguard an organization’s data and information from unauthorized users.

3.       How Are Trade Schools Different from Colleges?

A trade school, also called a technical school, vocational school, or career college, offers pro- grams primarily in the areas of programming, Web design and development, graphics design, hardware maintenance, networking, personal computer support, and security. One advantage of attending a trade school is time savings. Trade schools teach specific skills instead of requiring students take a broad range of courses in the sciences and humanities. For this reason, students often complete trade school programs in a shorter time than college and university programs. Upon completion of trade school education, students often receive a certificate. Some receive an associate’s degree or higher. Many students seek full- time employment with their certificate or degree and then continue their education on a part-time basis with a two-year or four-year college. To ensure coursework will transfer, it is important that students ask their advisor if the trade school has an articulation agreement with a nearby college or university. An articulation agreement ensures that if you transfer to a college or university, you will receive credit for most of the courses taken at your current school. As with any post-secondary school, when deciding on a trade school, you should compare curricula, laboratory facilities, instructors, and the types of jobs the school’s graduates have obtained. Entry-level jobs for students with a certificate or degree from a trade school include computer technician, desktop publisher/compositor, graphic designer/illustrator, help desk specialist, technical writer, and Web developer.
Attending a College or University.
Some students attend a two-year school, called a community college or junior college. Others attend a four-year college or university. If attending a community college, students should ask their advisor if the school has an articulation agreement with a nearby college or university. As in most other industries, individuals with advanced degrees in specific fields have a better chance of success. To round out their education, many graduates augment their computer degree with a master’s degree in business, education, or other field of study. At colleges and universities, three broad disciplines produce the majority of entry-level employees in the computer industry: computer information systems, computer science, and computer engineering. Another program sometimes offered is software engineering, whose definition varies depending on the school, which may combine characteristics from each of these disciplines.
 A trade school, also called a technical school, vocational school, or career college, offers programs primarily in the areas of programming, Web design and development, graphics design, hardware maintenance, networking, personal computer support, and security. Students learn specific skills instead of taking a broad range of science and humanities courses, which can result in time savings for students.

4.       How Are the Various College Computer-Related Courses of Study Different?

Three broad disciplines in higher education produce the majority of entry- level employees in the computer industry. Computer information systems (CIS), or information technology (IT), programs teach technical knowledge and skills and focus on how to apply these skills. Computer science (CS) programs stress the theoretical side of programming and operating systems. Computer engineering (CE) programs teach students how to design and develop the electronic components found in computers and peripheral devices.

5.       How Can People Stay Current with Changing Technology?

Four primary ways to stay current with computer technology are professional organizations and personal networks, professional growth and continuing education activities, computer publications and Web sites, and certification. Professional organizations are formed by computer professionals with common interests and a desire to extend their proficiency. The Association for Computing Machinery (ACM) is a scientific and educational organization dedicated to advancing knowledge and proficiency of information technology. The Association of Information Technology Professionals (AITP) is a professional association of programmers, systems analysts, and information processing managers. Maintaining a personal network of job-related contacts can help when seeking change in employment. Professional growth and continuing education include events such as workshops, seminars, conferences, conventions, and trade shows. The International Consumer Electronics Show (CES) is one of the larger technology trade shows, bringing together thousands of vendors and more than 110,000 attendees. Computer industry publications also help to keep people informed about the latest developments in the computer industry.  Another source for information is Web sites that discuss or share opinions, analysis, reviews, or news about technology.  Certification is a process of verifying the technical knowledge of an individual who has demonstrated competence in a particular area. Computing professionals typically obtain a certification by taking and passing an examination.

6.       What Are the Benefits of Certification for Employers, Employees, and Vendors?

IT certification can enhance employees’ careers, provide them with a better standing as industry professionals, and increase their salaries. The explain the benefits of certification for employees :
• Career:
A certification is one of the first accomplishments an employer notices on a resume. It provides a benchmark, or a means, to measure a person’s skills. It can set an individual apart from other potential candidates who may be vying for a similar advancement or position.
• Professional:
Certification is a personal achievement that adds credibility among peers and employers. Certification also authorizes the certificate holder to use the product’s official logo or symbol on personal items, such as business cards and Web pages. As an additional bonus, some certification training can be used for college credit. Although nothing guarantees job security, certification helps give the IT professional an edge over employees without certification.
• Salary:
Numerous salary surveys show that certification helps influence pay increases. Individuals with more than one area of certification can command even higher salaries. Companies often pay a bonus as an incentive for certification.
Many job listings ask for specific skills represented by certifications, and the number of companies requiring these skills is expected to grow in the future. Vendor-sponsored certifications offer many special benefits as incentives. Sponsors often provide special privileges to certified professionals, such as access to technical and product information. This may include access to secure online electronic resources, special technical support, automatic notification of updates, and access to beta products. In addition, sponsors may offer advanced training opportunities to certificate holders. Free sponsor magazine subscriptions and discounts on product-support publications and tools sometimes are available. Some sponsors even have authorized clothing lines embellished with the certification logo. Professional organizations that offer certifications, such as the Institute for the Certification of Computing Professionals (ICCP), define standards designed to raise the competence level for the computer industry. Certification also offers many benefits to customers, employers, and industry:
• Customer benefits of certification: Customers gain confidence in a company when IT professionals have earned a certification. Multiple certifications show that the professional can deal with many aspects of a problem, drawing from several areas of expertise. Certification implies motivation to expend extra effort, which often benefits the customer.
• Employer benefits of certification: An industry-sponsored study indicates that certified workers are more productive and knowledgeable than noncertified employees. Certified workers within the company have higher morale and job contentment, which benefits the employer.
• Industry benefits of certification: Certification is a form of industry self-regulation. It sets computer professionals’ competence standards and raises the level of expertise and knowledge in the IT industry as a whole. This, in turn, enhances the reputation of the professionals in the industry.

7.       How Can People Prepare for Certification?

Training options are available to suit every learning style: self-study, online training classes, instructor-led training, and Web resources.
• Self-study:
 Flexible self-study programs help professionals prepare for certification at their own pace and supplement other training methods. Self-study requires high motivation and discipline but is the least expensive option. Hundreds of books, videotapes, and computer-based training programs on optical disc are available.
• Online training classes:
Online training allows students to set their own pace in an interactive environment and combines the technological advantages of computer-based training with the connectivity of the Internet or a company’s intranet. Online programs can cost about one-third the price of the traditional instructor-led programs.
• Instructor-led training:
Instructor-led training is available in a variety of forms, including seminars, which typically are held for several days during a week; boot camps, which immerse students in intensive course work for up to two weeks; and academic- style classes, which span a period of several weeks or months. Some sponsors hold their own training sessions and also authorize independent training centers.
• Web resources:
The certification sponsor’s Web site generally contains descriptions of the available certifications, with FAQs and links to authorized training and testing centers. Many include detailed course objectives, training guides, sample test questions, chat rooms, and discussion groups. Most sell books and other training resources. Private individuals often set up Web sites to offer their own views and tips on the testing process.
Most people prefer to use a combination of these options to prepare for a certification test.

8.       What Are the General Areas of IT Certification?

Certifications usually are classified based on the computer industry area to which they most closely relate: application software, operating systems, programmer/developer, hardware, networking, digital forensics,  security, the Internet, and database systems.

9.       What Are Some Specific IT Certifications in Each Certification Area?

Application software certifications, sometimes called end-user certifications, include Microsoft Certified Application Specialist (MCAS), Microsoft Certified Application Professional (MCAP), Microsoft Certified Desktop Support Technician (MCDST), Adobe Certified Associate, Adobe Certified Expert (ACE), Adobe Certified Instructor (ACI), and IBM Certified Professional for Lotus Software. Operating system certifications include IBM Certified Specialist, Microsoft Certified IT Professional (MCITP), Microsoft Certified Technology Specialist (MCTS), Novell Certified Linux Professional (CLP), Red Hat Certified Engineer (RHCE), Red Hat Certified Technician (RHCT), and Sun Certified System Administrator (SCSA).  Programmer/developer certifications include  Certified Software Development Professional (CSDP ), IBM  Certified Solution Developer, Microsoft Certified Professional  Developer (MCPD), Sun Certified Enterprise Architect (SCEA), Sun Certified Java Developer (SC J D), Sun Certified Java Programmer (SC J P), and Sun Certified Mobile  Application Developer (SCMAD). Hardware certifications include A +, Dell Certified Systems Expert, and IBM eServer Certified Specialist. Networking certifications include Cisco Certified Network Associate (CCNA), Cisco Certified Network Professional (CCNP), Cisco Certified Internetwork Expert (CCIE), Microsoft Certified Systems Administrator (MCSA), Network +, Novell Certified Administrator (CNA), Novell Certified Engineer (NCE), and Sun Certified Network Administrator (SCNA). Digital forensics certifications include Certified Computer Examiner (CCE), Certified Computer Forensics Examiner (CCFE), Certified Electronic Evidence Collection Specialist (CEECS), and Certified Information Forensics Investigator (CIFI). Security certifications include Certified Information Systems Security Professional (CISSP), Security Certified Network Architect (SCNA), Security Certified Network Professional (SCNP), Security Certified Network Specialist (SCNS), and Systems Security Certified Practitioner (SSCP). Internet certifications include Certified Internet Webmaster (CIW) and Certified Web Professional (CWP). Database certifications include IBM Certified Solutions Expert – DB2, IBM Certified Solutions Expert – Informix, Microsoft Certified IT Professional (MCITP), Oracle Certified Professional (OCP), and Sybase Certified Professional.

Assignment Chapter 14

Lecturer : Mr. Tri Djoko Wahjono, Ir., M.Sc

Name : Agatha Virgitia Darmawan

Student ID : 1701338122

1.       What Are the Special Information Requirements of an Enterprise-Sized Corporation?

 A large organization, or enterprise, requires special computing solutions because of its size and geographical extent. Enterprise computing involves the use of computers in networks, such as LANs and WANs, or a series of interconnected networks to satisfy the information needs of an enterprise. Executive management, which includes the highest management positions in a company, needs information to make strategic decisions. Middle management, which is responsible for implementing the strategic decisions of executive management, needs information to make tactical decisions. Operational management, which supervises the production, clerical, and other non-management employees, needs information to make an operational decision that involves day-to-day activities. Non-management employees also need information to perform their jobs and make decisions. Managers use business intelligence (BI), business process management (BPM ), and business process automation (BPA ) tools to focus on information that is important to the decision-making process.

2.       What Information Systems and Software Are Used in the Functional Units of an Enterprise?

 An information system is a set of hardware, software, data, people, and procedures that work together to produce information. In an enterprise, the individual functional units have specialized requirements for their information systems. Accounting and financial systems manage transactions and help budget, forecast, and analyze. A human resources information system (HRIS) manages human resources functions. An employee relationship management (ERM) system automates and manages communications between employees and the business. Computer-aided design (CAD) assists engineers in product design, and computer-aided engineering (CAE) tests product designs. Computer-aided manufacturing (CAM) controls production equipment, and computer-integrated manufacturing (CIM) integrates operations in the manufacturing process. Material Requirements Planning (MRP) uses software to help monitor and control processes related to production. A quality control system helps an organization maintain or improve the quality of its products or services and typically includes quality control software. A marketing information system serves as a central repository for marketing tasks. Sales force automation (SFA) software equips salespeople with the electronic tools they need. Distribution systems control inventory, manage and track shipping, and provide information and analysis on warehouse inventory. Customer interaction management (CIM) software manages day-to-day interactions with customers. Web site management programs collect data to help organizations make informed decisions regarding their Web presence. Security software enables the IT department to limit access to sensitive information.

3.       What Information Systems Are Used throughout an Enterprise?

Some general purpose information systems, called enterprise-wide systems, are used through- out an enterprise. An office information system (OIS) enables employees to perform tasks using computers and other electronic devices. A transaction processing system (TPS) captures and processes data from day- to-day business activities. A management information system (MIS) generates accurate, timely, and organized information, so that users can make decisions, solve problems, supervise activities, and track progress. A decision support system (DSS) helps users analyze data and make decisions. An expert system captures and stores the knowledge of human experts and then imitates human reasoning and decision making. Customer relationship management (CRM) systems manage information about customers. Enterprise resource planning (ERP) provides centralized, integrated soft- ware to help manage and coordinate the ongoing activities of an enterprise. A content management system (CMS) is a combination of databases, software, and procedures that organizes and allows access to various forms of documents and files.

4.       What Are Types of Technologies Used throughout an Enterprise?

 Technologies used throughout an enterprise include the following items. A portal is a collection of links, content, and services presented on a Web page and designed to guide users to information related to their jobs. A data warehouse is a huge database that stores and manages the data required to analyze historical and current transactions. An enterprise’s communications infrastructure consists of hardware (such as wired and wireless network connections and devices, routers, firewalls, and servers), software (such as e-mail, instant messaging, VoIP, and server management), and procedures for using and managing hardware and software. An extranet allows customers or suppliers to access part of an enterprise’s intranet. Web services allow businesses to create products and B2B interactions over the Internet. Many enterprises employ a service- oriented architecture (SOA) to allow better communications and services between diverse information systems. A document management system (DMS) allows for storage and management of a company’s documents. A workflow application assists in the management and tracking of the activities in a business process from start to finish. A virtual private network (VPN) provides users with a secure connection to a company’s network server.

5.       What Are Virtualization, Cloud Computing, and Grid Computing?

Virtualization is the practice of sharing or pooling computing resources, such as servers and storage devices. Server virtualization provides the capability to divide a physical server logically into many virtual servers; storage virtualization provides the capability to create a single logical storage device from many physical storage devices. Cloud computing is an Internet service that provides computing needs to computer users. Grid computing, which often is used in research environments, combines many servers and/or personal computers on a network to act as one large computer. Cloud and grid computing usually charge a fee based on usage or processing time.

6.       What Are the Computer Hardware Needs and Solutions for an Enterprise?

Enterprise hardware allows large organizations to manage and share information and data using devices geared for maximum availability and efficiency. Enterprises use a variety of hardware types to meet their large-scale needs. A RAID (redundant array of independent disks) is a group of integrated disks that duplicates data and information to improve data reliability. Network attached storage (NAS) is a server that provides storage for users and information systems attached to the network. A storage area network (SAN) is a high- speed network that provides storage to other servers. An enterprise storage system uses a combination of techniques to consolidate storage so that operations run efficiently. A blade server, sometimes called an ultradense server, packs a complete computer server on a single card, or blade, rather than a system unit. A thin client is a small, terminal-like computer that mostly relies on a server for data storage and processing.

7.       What Are High Availability, Scalability, and Interoperability?

 The availability of hardware to users is a measure of how often it is online. A high-availability system continues running and performing at least 99 percent of the time. Scalability is the measure of how well computer hardware, software, or an information system can grow to meet an enterprise’s increasing performance demands. An information system often must share information, or have interoperability, with other information systems within the enterprise.

8.       Why Is Computer Backup Important, and How Is It Accomplished?

 A backup duplicates a file or program to protect an enterprise if the original is lost or damaged. A full, or archival, backup copies all of the programs and files in a computer. A differential backup copies only files that have changed since the last full backup. An incremental backup copies only files that have changed since the last full or incremental backup. A selective, or partial, backup allows users to back up specific files. Continuous data protection (CDP), or continuous backup, is a backup plan in which data is backed up whenever a change is made. Backup procedures specify a regular plan of copying and storing data and program fi les.

9.       What Are the Steps in a Disaster Recovery Plan?

A disaster recovery plan describes the steps a company would take to restore computer operations in the event of a disaster. A disaster recovery plan contains four components. The emergency plan specifies the steps to be taken immediately after a disaster strikes. The backup plan stipulates how a company uses backup files and equipment to resume information processing. The recovery plan identifies the actions to be taken to restore full information processing operations. The test plan contains information for simulating disasters and recording an organization’s ability to recover.

Assignment Chapter 13

Lecturer : Mr. Tri Djoko Wahjono, Ir., M.Sc

Name : Agatha Virgitia Darmawan

Student ID : 1701338122

1.       How Are Machine Languages Different from Assembly Languages?

A programming language is a set of words, abbreviations, and symbols that enables a programmer, often called a developer, to communicate instructions to a computer. A machine language uses a series of binary digits, or combinations of numbers and letters that represent binary digits, and is the only language a computer directly recognizes. With an assembly language, a programmer writes instructions using symbolic instruction codes, which are meaningful abbreviations.

2.       What Is the Purpose of Procedural Programming Languages, and What Are the Features of C and  COBOL?

 In a procedural language, or third- generation language (3GL), a programmer writes instructions that tell a computer what to accomplish and how to do it. Programmers use English-like words to write instructions, which simplifies the program development process for the programmer. A compiler or an interpreter translates the 3GL source program into machine language object code or object program that a computer can execute. Standard procedural languages include C and COBOL. C is a powerful language that requires professional programming skills and is used for business and scientific problems. It runs on almost any type of computer or operating system. COBOL (COmmon Business-Oriented Language) is a programming language designed for business applications that uses English-like statements that are easy to read, write, and maintain.

3.       What Are the Characteristics of Object-Oriented Programming Languages and Program Development Tools?

Programmers use an object-oriented programming (OOP) language or object-oriented program development tool to implement object-oriented design. A program that provides a user-friendly environment for building programs often is called a program development tool. An object is an item that can contain both data and the procedures that read or manipulate the data. A major benefit of OOP is the ability to reuse and modify existing objects, allowing programmers to create applications faster. Often used in conjunction with OOP, RAD (rapid application development) is a method of developing software in which a programmer writes and implements a program in segments instead of waiting until the entire program is completed. OOP languages include Java, C11, and C#. Java uses a just-in-time (J IT) compiler to convert bytecode into machine-dependent code that is executed immediately. The Microsoft .NET framework, or .NET, allows almost any type of program to run on the Internet or an internal business network, as well as stand-alone computers and mobile devices. C11 is an object-oriented extension of the C programming language. C# is based on C11 and has been accepted as a standard for Web applications and XML- based Web services. F# is a new programming language that combines the benefits of an object-oriented language with the benefits of a functional language. Visual Studio is Microsoft’s suite of program development tools that assists programmers in building programs for Windows, Windows Mobile, or operating systems that support .NET. Visual Studio includes the programming languages Visual Basic, Visual C11, and Visual C#. A visual programming language uses a visual or graphical interface, called a visual programming environment (VPE), for  creating all source code. Two other program development tools include Delphi and PowerBuilder.

4.       What Are the Uses of Other Programming Languages and Other Program Development Tools?

A 4GL (fourth-generation language) is a nonprocedural language that enables users to access data in a database. A popular 4GL is SQL, a query language for relational data-bases. An application generator creates source code or machine code from a specification of the required functionality. A macro, which is a series of statements that instructs an application how to complete a task, allows users to automate routine, repetitive tasks.

5.       What Are Web Page Program Development Techniques Such as HTML and XHTML, XML and WML, Scripting Languages, DHTML, Ruby on Rails, Web 2.0 Development, and Web Page Authoring Software?

Web developers use a variety of techniques to create Web pages. HTML (Hypertext Markup Language) is a special formatting language that programmers use to format documents for display on the Web.  XHTML (extensible HTML) is a markup language that includes features of HTML and XML. XML and WML are popular formats used by Web developers. A scripting language is an interpreted language that programmers use to add dynamic content and interactive elements to Web pages. Popular scripting languages include JavaScript, Perl, PHP, Rexx, Tcl, and VBScript. Dynamic HTML (DHTML) is a type of HTML that allows developers to include more graphical interest and interactivity in a Web page. Ruby on Rails (RoR or Rails) is an open source framework that provides technologies for developing object-oriented, database- driven Web sites. Web 2.0 Web sites often use RSS 2.0 and Ajax. Developers use Web page authoring software to create sophisticated Web pages. Four popular Web page authoring programs are Dreamweaver, Expression Web, Flash, and SharePoint Designer.

6.       How Are Popular Multimedia Authoring Programs Used?

Multimedia authoring software allows programmers to combine text, graphics, animation, audio, and video in an interactive presentation. Many programmers use multimedia authoring software for computer- based training (CBT) and Web-based training (WBT).
 Popular Web page authoring programs typically share similar features and are capable of creating similar applications. Popular programs include ToolBook and Director.
• ToolBook, from SumTotal Systems, has a graphical user interface and uses an object- oriented approach, so that programmers can design multimedia applications using basic objects. These objects include buttons, fields, graphics, backgrounds, and pages.  In ToolBook, programmers can convert a multimedia application into HTML or XHTML, so that it can be distributed over the Internet. Many businesses and colleges use ToolBook to create content for distance learning courses.
• Director, from Adobe Systems, is a popular multimedia authoring program with powerful features that allow programmers to create highly interactive multimedia applications.  Director’s powerful features make it well suited for developing electronic presentations, optical discs for education and entertainment, simulations, programs for kiosks, and Web applications. Web applications can include streaming audio and video, interactivity, and multiuser functionality. Users view Web applications developed in Director on the Web using the Shockwave plug-in.

7.       What Are the Six Steps in the Program Development Life Cycle?

 The program development life cycle (PDLC) is a series of steps programmers use to build computer programs. The program development life cycle consists of six steps: (1) analyze requirements, (2) design solution, (3) validate design, (4) implement design, (5) test solution, and (6) document solution.

8.       How Is Structured Design Different from Object-Oriented Design?

In structured design, a programmer typically begins with a general design and moves toward a more detailed design. A programmer starts with the program’s major function, called the main routine or main module, and breaks it down into smaller sections, called subroutines or modules. Structured design results in programs that are reliable and easy to read and maintain, but it does not provide a way to keep the data and the program together and can result in redundant programming code. With object-oriented (OO) design, the programmer packages the data and the program (or procedure) into a single unit, an object. Objects are grouped into classes. A detailed class diagram represents each object, its attributes (data), and its methods (procedures). The programmer translates the methods into program instructions.

9.       What Are the Basic Control Structures and Design Tools Used in Designing Solutions to Programming Problems?

A control structure, also known as a construct, depicts the logical order of program instructions. A sequence control structure shows one or more actions following each other in order. A selection control structure tells the program which action to take, based on a certain condition. Two types of selection control structures are the if-then-else control structure, which yields one of two possibilities (true or false), and the case control structure, which can yield one of three or more possibilities. The repetition control structure enables a program to perform one or more actions repeatedly as long as a certain condition is met. The two forms of the repetition control structure are: the do-while control structure, which tests a condition at the beginning of the loop, in a process called a pretest, and continues looping as long as a condition is true; and the do-until control structure, which tests a condition at the end of the loop, in a process called a posttest, and continues looping until the condition is true. Some design tools include a program flowchart, or simply  flowchart; pseudocode; and the UML (Unified Modeling Language).

Assignment Chapter 12

Lecturer : Mr. Tri Djoko Wahjono, Ir., M.Sc

Name : Agatha Virgitia Darmawan

Student ID : 1701338122

1.       What Is System Development, and What Are the  System Development Phases?

A system is a set of components that interact to achieve a common goal. You use, observe, and interact with many systems during daily activities. You drive a highway system to reach a destination. You use a programmable thermostat to regulate your heating and cooling systems to save energy. You use the decimal number system to calculate an amount due.
An information system (IS) is a collection of hardware, software, data, people, and procedures that work together to produce quality information. An information system supports daily, short-term, and long-range activities of users. As time passes, the type of information that users need often changes. A sales manager may want the weekly summary report grouped by district today and by product tomorrow. When information requirements change, the information system must meet the new requirements. In some cases, the members of the system development team modify the current information system. In other cases, they develop an entirely new information system.
System development is a set of activities used to build an information system. Some system development activities may be performed concurrently. Others are performed sequentially. Depending on the type and complexity of the information system, the length of each activity varies from one system to the next. In some cases, some activities are skipped entirely.
System development activities often are grouped into larger categories called phases. This collection of phases sometimes is called the system development life cycle (SDLC). Many SDLCs contain five phases:
1.  Planning
2.  Analysis
3.  Design
 4.  Implementation
5.  Operation, Support, and Security.

2.       What Are Guidelines for System Development?

System development should follow three general guidelines: group activities into phases, involve the users, and define standards.
1.       Group activities or tasks into phases:
Many SDLCs contain the same phases. Others have more or fewer phases. Regardless, all SDLCs have similar activities. Some SDLCs separate these activities in an additional phase called Construction and Testing. Other differences among SDLCs are the terminology they use, the order of their activities, and the level of detail within each phase.
2.       Involve users:
Users include anyone for whom the system is being built. Customers, employees, students, data entry clerks, accountants, sales managers, and owners all are examples of users. You, as a user, might interact with an information system at your bank, library, grocery store, fitness center, work, and school. The system development team members must remember they ultimately deliver the system to the user. If the system is to be successful, the user must be included in system development. Users are more apt to accept a new system if they contribute to its design.
3.       Define standards:
Standards are sets of rules and procedures an organization expects employees to accept and follow. Standards help people working on the same project produce consistent results. For example, one programmer might refer to a product number in a database as a product ID. Others may call it a product identification number, product code, and so on. If standards are defined, then every- one involved uses the same terms, such as product number. Standards often are implemented by using a data dictionary.

3.       Why Are Project Management, Feasibility Assessment, Documentation, and Data and Information Gathering Techniques Important?

Project management is the process of planning, scheduling, and then controlling the activities during system development. The goal of project management is to deliver an acceptable system to the user in an agreed-upon time frame, while maintaining costs. For larger projects, project management activities often are separated between a project manager and a project leader. Some organizations use extreme project management. The project leader identifies the scope of the project, required activities, time estimates, cost estimates, the order of activities, and activities that can take place simultaneously. The project leader records this information in a project plan. Feasibility is a measure of how suitable the development of a system will be to the organization. A systems analyst typically uses four tests to evaluate feasibility of a project: operational feasibility, which measures how well the proposed system will work; schedule feasibility, which measures whether established project deadlines are reasonable; technical feasibility, which measures whether the organization has or can obtain the hardware, software, and people to deliver and then support the system; and economic  feasibility, also called cost/benefit feasibility, which measures whether the lifetime benefits of the proposed system will be greater than its lifetime costs.  Documentation is the collection and summarization of data and information and includes reports, diagrams, programs, or other deliverables. A project notebook contains all documentation for a single project. To gather data and information, systems analysts and other IT professionals review documentation, observe, survey, interview, participate in joint-application design (JAD) sessions, and research.

4.       What Activities Are Performed in the Planning Phase?

The planning phase for a project begins when the decision-making body for the organization, called the steering committee, receives a project request. During the planning phase, four major activities are performed: (1) review and approve the project requests, (2) prioritize the project requests, (3) allocate resources such as money, people, and equipment to approved projects, and (4) form a project development team for each  approved project.

5.       What Is the Purpose of Activities Performed in the Analysis Phase?

The planning phase for a project begins when the steering committee receives a project request. As mentioned earlier in this chapter, the steering committee is a decision- making body for an organization. This committee usually consists of five to nine people. It typically includes a mix of vice presidents, managers, non-management users, and IT personnel.
During the planning phase, four major activities are performed:
(1) review and approve the project requests; (2) prioritize the project requests; (3) allocate resources such as money, people, and equipment to approved projects; and (4) form a project development team for each approved project.
The projects that receive the highest priority are those mandated by management or some other governing body. These requests are given immediate attention. The steering committee evaluates the remaining project requests based on their value to the organization. The steering committee approves some projects and rejects others. Of the approved projects, it is likely that only a few will begin system development immediately. Others will have to wait for additional funds or resources to become available.

6.       What Are Tools Used in Process Modeling?

 Process modeling, sometimes called structured analysis and design, is an analysis and design technique that describes processes that transform inputs into outputs. Tools used for process modeling include the following. An entity-relationship diagram (ERD) graphically shows the connections among entities in a system. An entity is an object in the system that has data. A data flow diagram (DFD) graphically shows the flow of data in a system. Key elements of a DFD are a data flow, which shows the input or output of data or information; a process, which transforms an input data flow into an output data flow; a data store, which is a holding place for data and information; and a source, which identifies an entity outside the scope of the system. The project dictionary, sometimes called the repository, contains all the documentation and deliverables of a project. Techniques used to enter items in the project dictionary include structured English, a decision table and/or a decision tree, and a data dictionary.

7.       What Are Tools Used in Object Modeling? 

Object modeling, sometimes called object-oriented (OO) analysis and design, combines the data with processes that act on the data into a single unit, called an object.  Object modeling can use the same tools as those used in process modeling, but the UML (Unified Modeling Language) has been adopted as a standard notation for object modeling and development. Two common tools in the UML are the use case diagram and the class diagram. A use case diagram graphically shows how actors interact with the information system. An actor is a user or other entity, and the use case is the function that the actor can perform. A class diagram graphically shows classes and one or more lower levels, called subclasses, in a system. Lower levels (subclasses) contain attributes of higher levels (classes) in a concept called inheritance.

8.       What Activities Are Performed in the Design Phase?

The design phase consists of two major activities: (1) if necessary, acquire hardware and software and (2) develop all of the details of the new or modified information system. Acquiring necessary hardware and software involves identifying technical specifications, soliciting vendor proposals, testing and evaluating vendor proposals, and making a decision. Detailed design includes developing designs for the databases, inputs, outputs, and programs. During detailed design, many systems analysts use a prototype, which is a working model of the proposed system. Computer-aided software engineering (CASE) products are tools designed to support one or more activities of system development.

9.       Why Is Program Development Part of System Development?

During the design phase, an organization can purchase packaged software, which is mass-produced, copyrighted, prewritten software. If suitable packaged software is not available, however, a company may opt for custom software, which is application software developed at the user’s request to match the user’s requirements exactly. Programmers write custom software from the program specification package created during the analysis phase, following an organized set of activities known as the program development life cycle.

10.   What Activities Are Performed in the Implementation Phase?

The purpose of the implementation phase is to construct, or build, the new or modified sys- tem and then deliver it to the users. Members of the system development team perform four major activities in this phase:
(1)    develop programs,
If the organization purchases packaged software and no modifications to the software are required, the development team may skip this activity. For custom software or packaged software that requires modification, however, programs are developed or modified either by an outside firm or in-house. Programmers write or modify programs from the program specification package created during the analysis phase. Just as system development follows an organized set of activities, so does program development. These program development activities are known as the program development life cycle. The program development life cycle follows these six steps: (1) analyze the requirements, (2) design the solution, (3) validate the design, (4) implement the design, (5) test the solution, and (6) document the solution. Chapter 13 explains the program development life cycle in depth. An important concept to understand is that the program development life cycle is a part of the implementation phase, which is part of the system development life cycle.
(2)    install and test the new system,
If the organization acquires new hardware or software, someone must install and test it. The systems analysts should test individual programs. They also should be sure that all the programs work together in the system. Systems analysts do not want errors in the system after it is delivered to the users. Systems analysts and users develop test data so that they can perform various tests. The test data should include both valid (correct) and invalid (incorrect) data. When valid test data is entered, the program should produce the correct results. Invalid test data should generate an error. Tests performed during this step include unit tests, systems tests, integration tests, and acceptance tests. A unit test verifies that each individual program or object works by itself. A systems test verifies that all programs in an application work together properly. An integration test verifies that an application works with other applications. An acceptance test is performed by end-users and checks the new system to ensure that it works with actual data.
(3)    train users, and
According to a recent study, poor user training is one of the top ten reasons why system development projects fail. Users must be trained properly on a system’s functionality. Training involves showing users exactly how they will use the new hard- ware and software in the system. Other organizations use Web-based training, which is a self-directed, self-paced online instruction technique. Whichever method is used, it should include hands-on sessions with realistic sample data.
(4)    convert to the new system
The final implementation activity is to change from the old system to the new system. This change can take place using one or more of the following conversion strategies: direct, parallel, phased, or pilot. With direct conversion, the user stops using the old system and begins using the new system on a certain date. The advantage of this strategy is that it requires no transition costs and is a quick implementation technique. Some systems analysts call this technique an abrupt cutover. The disadvantage is that it is extremely risky and can disrupt operations seriously if the new system does not work correctly the first time. Parallel conversion consists of running the old system alongside the new system for a specified time. Results from both systems are compared. If the results are the same, the organization either terminates the old system abruptly or phases it out. The advantage of this strategy is that you can fix any problems in the new system before you terminate the old system. The disadvantage is that it is costly to operate two systems at the same time. Larger systems that have multiple sites often use a phased conversion. With a phased conversion, each location converts at a separate time. For example, an accounting system might convert its accounts receivable, accounts payable, general ledger, and payroll sites in separate phases. Each site can use a direct or parallel conversion. With a pilot conversion, only one location in the organization uses the new system — so that it can be tested. After the pilot site approves the new system, other sites convert using one of the other conversion strategies. At the beginning of the conversion, existing data must be made ready for the new system. Converting existing manual and computer files so that the new system can use them is known as data conversion.

11.   What Activities Are Performed in the Operations,  Support, and Security Phase?

The purpose of the operation, support, and security phase is to provide ongoing assistance for an information system and its users after the system is implemented. The operation, sup-port, and security phase consists of three major activities: (1) perform maintenance activities, (2) monitor system performance, and (3) assess system security. Information system maintenance activities include fixing errors in, as well as improving, a system’s operations. To determine initial maintenance needs, the systems analyst should meet with users. The purpose of this meeting, called the post-implementation system review, is to discover whether the information system is per- forming according to the users’ expectations. Sometimes users identify errors in the system. Problems with design (logic) usually are the cause of these errors. For example, the total of a column might be incorrect. These types of errors return the analyst to the planning phase to perform corrective maintenance, which is the process of diagnosing and correcting errors in an information system. Sometimes, users have enhancements or additional requirements that involve modifying or expanding an existing information system. Adaptive maintenance is the process of including new features or capabilities in an information system. To perform adaptive maintenance, the analyst returns to the planning phase. During this phase, the systems analyst monitors performance of the new or modified information system. The purpose of performance monitoring is to determine whether the system is inefficient or unstable at any point. If it is, the systems analyst must investigate solutions to make the information system more efficient and reliable, a process called perfective maintenance — back to the planning phase. Most organizations must deal with complex computer security issues. All elements of an information system — hardware, software, data, people, and procedures — must be secure from threats both inside and outside the enterprise. For example, users should be allowed access only to the data and information for which they are authorized, which typically is limited to the amount necessary to do their job. Data should be secure so that intruders cannot alter, damage, or steal data. Networks need safeguards to prevent them from being compromised. If any vulnerabilities are detected, the analyst returns to the planning phase to investigate techniques to safeguard the information system. Organizations today often have a chief security officer (CSO) who is responsible for physical security of an organization’s property and people and also is in charge of securing computing resources. It is critical that the CSO is included in all system development projects to ensure that all projects adequately address information security. The CSO uses many of the techniques discussed in Chapter 11 to maintain confidentiality or limited access to information, ensure integrity and reliability of systems, ensure uninterrupted availability of systems, ensure compliance with laws, and cooperate with law enforcement agencies.