System Development Models and System Analysis and Design part2.

3.34 Alternatives to SDLC methodologies

The traditional SDLC approach works best on projects in which users have a clear idea about their requirements. Projects that require major changes in existing processes, through reengineering or development of new processes or those that build upon inter-organizational and international systems using Web technologies indicate a need for alternatives or supplements to conventional SDLC methodologies.

Some alternatives:

– Prototyping

– Joint application design (JAD)

– Rapid application development (RAD)

– Object-oriented development (OO)

– Extreme Programming (XP)

– Component-based development

Prototyping (evolutionary development):

• Instead of spending a lot of time producing very detailed specifications, the developers find out only generally what the users want. The developers do not develop the complete system all at once.

• Instead they quickly create a prototype, which either contains portions of the system of most interest to the users, or is a small-scale working model of the entire system.

• After reviewing the prototype with the users, the developers refine and extend it. This process is continued until the final specifications.

Joint application design (JAD)

• A group-based method for collecting user requirements and creating system designs. It is used within the systems analysis and design stages of the SDLC.

• Unlike the traditional SDLC, where the analysts interview individual users of the new information system to understand their needs JAD has a meeting in which all users meet

simultaneously with analysts. During the meeting, all users jointly define and agree upon systems requirements.

Rapid application development (RAD)

• Rapid application development (RAD) methodologies and tools make it possible to develop systems faster, especially systems where the user interface is an important component.

– GUI development environment: the ability to create many aspects of an ap- plication by “drag-and-drop” operations.

– Reusable components: a library of common, standard “objects” such as buttons and dialog boxes.

– Code generator. After the developer drags-and-drops the standard objects into the design, the package automatically writes computer programs to implement the reports, input screens, buttons, dialog boxes, and so forth.

– Programming language: such as BASIC, Object Pascal, or C.

clip_image002

Object-oriented development (OO)

Object-oriented development (OO) is a fundamentally different view of computer systems than that found in traditional SDLC approaches. It begins not with the task to be performed, but with the aspects of the real world that must be modeled to perform that task.

Extreme programming (XP)

• Extreme programming (XP) is a discipline of software development based on values of simplicity, communication, and feedback.

• XP teams use a simple form of planning and tracking to decide what should be done next. Focused on business value, the team produces the software in a series of small, fully integrated releases that pass all the tests the customer has specified.

Component Based Development

• Component-based development is the evolution beyond objects. They are self-contained packages of functionality that have clearly defined, open interfaces that offer high-level application services.

• These business objects provide major chunks of application functionality (e.g., pre- programmed work flow, transaction processing, and user event notification) that can be connected together to create complete business applications.

clip_image004

3.4 Structured Analysis

Terminologies used in Structured Analysis are defined in this section.

Top-down refers to an approach that progress from the highest, most abstract level to the lowest level of detail – from the general to the specific.

Structured refers to the fact that techniques are instructions that are carefully drawn up, often step-by-step, with each step building upon a previous one.

Structured Analysis: Top-down method for defining system inputs, processes, and outputs, and for partitioning systems into sub-systems or modules that show a logical graphic model of information flow.

Data Flow Diagram (DFD): Also known as bubble chart”. Data flow diagrams show how data flow to, from and within an information system and the processes that transform the data. DFD are constructed using four basic symbols. These symbols consist of the following:

1. The data flow symbol, an arrow showing the flow of data

2. The process symbol, rounded boxes or bubbles depicting processes that transform the data

3. The data short symbol, an open rectangle indicating where data are stored

4. The external entity symbols either a rectangle or square, indicating the sources or destination of data.

Data Flows: The movement of data between processes, external entities, and data stores in a DFD.

Processes: Portray the transformation of input data flows to output data flows in a DFD. Each has a unique reference number and is named with a verb-object phase.

Data Stores: Manual or automated inventories of data. They consist of computer files or data bases, file cabinets, card files, microfiche, or a binder of paper reports. The name of the data store is written inside the data store symbol.

External Entities: Originators or receivers of information outside the scope of the system portrayed in the data flow diagram. Some time called outside interfaces.

image

Data Dictionary: An automated or manual tool for storing and organizing information about the data maintained in a database. A data dictionary is a structured repository of data about data. It is a set of rigorous definitions of all DFD data elements and data structures.

Decision Tables: A decision table is a table of contingencies for defining a problem and the actions to be taken. It is a single representation of the relationships between conditions and actions.

A decision table consists of two parts: Stub and entry. The stub part is divided into an upper quadrant called the condition stub and a lower quadrant called the action stub. The entry part is divided into an upper quadrant, called the condition entry and a lower quadrant called the action entry.

image

Context Diagram: The context diagram always depicts an entire system as a single process with its major inputs and outputs. Subsequent diagrams can then break the system down into greater levels of detail.

3.50 Systems Design

Systems Design

Details how a system will meet the information requirements as determined by the systems and users. It consists of all the specifications that give the system its form and structure. Information systems design is an exacting and creative task demanding imagination, sensitivity to detail and expert skills.

Objectives:

1) The systems designer is responsible for considering alternative technology configuration for carrying out and developing the system as described by the analyst. This may involve analysis of the performance of different process of hardware and software, security capabilities of systems, network alternatives, and the portability or changeability of systems hardware.

2) Designers are responsible for the management and control of the technical realization of systems. Detailed programming specifications, coding of data, demonstration, testing and trial,

the actual procurement of the hardware, software, components are all the responsibility of the designers

3) The systems designer details the system specifications that will deliver the functions identified during systems analysis. These specifications should address all of the managerial, organizational, and technological components of the systems solutions.

Logical Design: Lays out the components of the information system and their relationship to each other as they would appear to the users. It shows what the system solution will do as opposed to how it is actually implemented physically. It describes inputs and outputs, processing functions to be performed, business procedures, data models, and controls - controls specify standards for acceptable performance and methods for measuring actual performance in relation to these standards.

Physical Design: The process of translating the abstract logical model into the specific technical design for the new system. It produces the actual specifications for hardware, software, physical databases, input/output media, manual procedures, and specific controls. Physical design provides the remaining specifications that transform the abstract logical design plan into a functioning system of people and machines.

Structured Design: Encompasses a set of design rules and techniques that promotes program clarity and simplicity, thereby reducing the time and effort required for coding, debugging, and maintenance. The main principle of standard design is that a system should be designed from the top down in hierarchical fashion and refined to greater levels of detail.

The design should first consider the main function of a program or system, then break this function into sub functions and decompose each sub function until the lowest level of detail has been reached. In this manner, all high level logic and the design model are developed before detailed program code is written. If structured analysis has been performed, the structured specification document can serve as input to the design process.

Structured Chart: System documentation showing each level of design, the relationship among the levels, and the overall place in the design structure. It can document one program, one system, or part of one program.

Walk through: A review of specification or design document by a small group of people carefully selected based on the skills needed for the particular objectives being tested.

Data Flow Diagram – An Example

image

System Analyst

An Analyst is a person who conducts a methodical study and evaluation of an activity such as business to identify its desired objectives in order to determine procedures by which these objectives can be gained. The task of the systems analyst is to eliminate needs and resource constraints and to translate these into a viable operation. A system analyst is one who facilitates the study of the problems and needs of a business to determine how the business system and information technology can best solve the problems and accomplish improvements for the business. An analyst must possess various skills to extensively carry out the job. They may be divided into two categories.

A system analyst is one who facilitates the study of the problems and needs of a business to determine how the business system and information technology can best solve the problems and accomplish improvements for the business processes, improved information

systems, or new or improved computer application. Most of the time it is the combination of all the three.

When information technology is used, the analyst is responsible for the efficient capture of data from its business source, the flow of that data to the computer, the processing and storage of that data by the computer, and the flow of useful and timely information back to the business and its people.

Information technology is a contemporary term that describes the combination of computer technology (hardware and software) with telecommunications technology (data, image, and voice networks).

3.61 Various skills required for a system analyst.

For accomplishing all the things stated above, an analyst must possess various skills. They may be divided specifically into two categories namely interpersonal skills and technical skills. Both are required for system development. Interpersonal skills deal with relationships and the interface of the analyst with people in business. They are useful in establishing trust, resolving conflict, and communicating information. Technical skills, on the other hand, focus on procedures and techniques for operations analysis, systems analysis and computer science.

Interpersonal Skills:

Communication: Having the ability to articulate and speak the language of the user, a “flare” of mediation, and a knack of working with all managerial levels in the organization.

Understanding: Identifying problems and assembling their ramifications, having a group of company goals and objectives, and showing sensitivity to the impact of the system on people at work.

Teaching: Educating people in use of computer systems, selling the system to the user, and giving support when needed.

Selling: Selling ideas and promoting innovation in problem solving using computers.

Technical Skills:

Creativity: Helping users model ideas into concrete plans and developing candidate system to match user requirements.

Problem solving: Reducing problems to their elemental levels for analysis, developing alternative solutions to a given problem, and delineating the pros and cons of candidate system.

Project Management: Scheduling, performing well under time constraints, coordinating teams and managing costs and expenditures.

Dynamic Interface: Blending technical and non-technical considerations in functional specifications and general design.

Questioning attitude and inquiring mind: Knowing the what, when, why, where, who, and how a system works.

Knowledge of computers and the business function.

• A candidate system is a newly developed system designed to replace the current system.

Multifaceted Role of System Analyst

Among the roles an analyst performs are change agent, monitor, architect, psychologist, marketing man, motivator, and politician.

Marketing Man:

Marketing the system takes place at each step in the system life cycle. Marketing skills and persuasiveness are crucial to the success of the system. Let us see how important the marketing skills are, with an illustration.

In the feasibility study phase, the outcome, i.e. the feasibility report is a g good written presentation documenting the activities involving the candidate system. The pivotal step in marketing the proposed change. Invariably an analyst is expected to give an oral presentation to the end use.

The presentation must aim at informing, confirming, or persuading (marketing skills!). Informing: This simply means communicating the decisions already reached on system recommendations and the resulting action plans to those who will participate in the presentation. Confirming: A presentation with this purpose verifies facts and recommendations already discussed and agreed upon. Presentation should be complete. Confirming is itself part of the process of securing approval. It should reaffirm the benefits of the candidate system and provide a clear statement of results to be achieved.

Persuading: This is a presentation pitched toward selling ideas – attempts to convince executives to take action on recommendations for implementing a candidate system.

Politician:

A candidate system must be well designed and acceptable to the user. System acceptance is achieved through user participation in its development, effective user training and proper motivation to use the system. The analyst’s role as a motivator becomes obvious during the first few weeks after implementation and during times when turnover results in new people being trained to work with the candidate system.

In implementing a candidate system, the analyst tries to appease all parties involved. Diplomacy and finesse is what the analyst requires. In as much as a politician must have the support of his/her constituency, so is the analyst’s goal to have the support of the user’s staff. He/she represents their thinking and tries to achieve their goals through computerization.

3.62 Database Administrator (DBA)

3.62. 1 Role of DBA

Database Administrator (DBA)

1. In charge of enterprise database development

2. Improves the integrity and security of organizational databases

3. Uses Data Definition Language (DDL) to develop and specify data contents, relationships, and structure

4. Stores these specifications in a data dictionary or a metadata repository

3.62.2 The functions of the Database Administrator (DBA)

The functions of the Database Administrator (DBA) include the following:

1. Schema Definition: The DBA creates the original Database Schema by writing a set of definitions that is translated by the Data Definition Language (DDL) compiler to a set of tables that is stored permanently in the data dictionary.

2. Storage: Structure and access method definition; The DBA creates appropriate storage structures and access methods by writing a set of definitions which is translated by the data storage and data definition language compiler.

3. Schema and Physical Organization Modification: Programmers accomplish the relatively rare modification either to the database schema or to the description of the physical storage organization by writing a set of definitions that is used by either the DDL compiler or the data storage and data definition language compiler to generate modifications to the appropriate internal system tables (Eg. Data Dictionary).

4. Granting of authorization for data process: The granting of different types of authorization allows the database administrator to regulate which parts of the special system structure that is consulted by the database system whenever access to the data is attempted in the system.

5. Integrity constraint specification: The data values stored in the database must satisfy certain consistency. For eg. The number of hours an employee may work in one week may not exceed a specified by the DBA. The integrity constraints are kept in a special system structure that is consulted by the database system.

Comments

Popular posts from this blog

The Conversion Cycle:The Traditional Manufacturing Environment

The Revenue Cycle:Manual Systems

Nassi-Shneiderman charts