28 March 2009

Information Systems Analysis and Design [Part 3]

EARLY OBSERVATION, ANALYSIS'S REQUIREMENT


CONCEPT OF INVESTIGATION SYSTEM

There is the difference distinctive among system's aim and condition of system actually. Reporting detects problem not quite a reality, that is:

  • - The target of system over ideal
  • - Lack for resource and or attitude
  • - System measurement less accurate
  • - The target of system which have under developed
  • - The difference among idle system and temporary system

Problem solving for the problems above are:

  • - System formulation that be walks or in other words is investigation in detail
  • - Getting ideal system consensus
  • - Develop severally alternative
  • - Choosing the best one alternative

The target of investigation is to show the problem that actually happens.


CONSTRAINT IN INVESTIGATION SYSTEM

When we do investigation, some constraints which often arise are about:

  • - Time
  • - Cost
  • - Science
  • - Politics
  • - Interference

RECOMMENDATION

Result of investigation is a recommendation which contain for example as follows:

  • - No action or problem undiscovered
  • - Doing system preserve or there are only a little problem
  • - Increasing user ability or skill
  • - Regarding system modification totally
  • - Placing happening problem into systems development plan which shortly be done


INVESTIGATION TACTICS

Why needs tactics in investigation system? Tactics needs in investigation system to find all problems, knowing cause of arise problem and determining solution in point. The tactics is done so all system element can accept solution offer without trouble their activity.

Severally tactics which can be done, that is:

  • - Listening system agent opinion
  • - Don't give startup resolving
  • - Comparing story some bodies system agent to same case
  • - Notice inconsistency logical problem


INVESTIGATION TECHNIQUES

Investigation techniques can do in two way which is directly and indirect. On directly we can use Questionnaires, Question-answer and Observation. Then on indirect we can use Procedural flow, Studying document, Sample and Tabular.


CURRENT SYSTEM DESCRIPTION

  • - Input
  • - Output
  • - File
  • - Data element
  • - Transactions volume and action document
  • - Data flow chart


ANALYSIS'S REQUIREMENT

Intensive interaction phase among system analyst with end user where systems developmental team point out its membership to get comment and user trust so gets good participation.

Four (4) goals that wants to be reached:

  1. 1. Explain comprehensive system
  2. 2. Figuring ideal information system
  3. 3. Taking in ideal information system to condition of currently by notices resource constraint
  4. 4. Giving push to wearing confidence into developmental system


Method that use in analysis's requirement are question-answer, Questionnaire, Observation, Analysis's procedure and Document observation.


RESOURCE CONSTRAINT

Resource constraint is influenced by:

  • ~ Time
  • ~ Money
  • ~ Membership
  • ~ Technology
  • ~ External factor


Analysis's Requirement Document:

- Analysis's instruction: Relationship with end user, processes observation, about problem in data collecting

- User requirement: Real requirement, Report requirement, training requirement and new system influence

- System constraint: Explain the time and cost constraint, membership, technology and external factor

- Document as instrumental as data collecting, statistical consensus, logically and physical data flow, early data element in data dictionary


GENERATING SYSTEMS ALTERNATIVES

How to approach current system condition with condition of system which ideal?

  • - Making alternative to solve information system problem
  • - That best alternative applied by wisely


Strategy option:

  • o Distributed versus centralized processing

    Changing information decision from centralized processing's data goes to decentralized end user responsibility center

  • o Integrated versus dispersed database

    System designer shall regard data any kind incoming in database and one turns in at File

  • o Surround Strategy of System Development

    Environmental surrounding of strategy is important in term confiscation because information system of other firm may in contrast to corporate currently.

Strategy option is done before operational scheme option


Operational scheme option

Scheme option can be agglomerated into:

  • >> Input
    • - Online Vs Off Line Data Entry
    • - Keyed Vs Machine Readable Data Entry
    • - Centralized Vs Decentralized Data Entry
  • >> Processing
    • - Batch Vs Realtime record update
    • - Sequential Vs Direct Access to records
    • - Single Vs Multiple User update of records
  • >> Output
    • - Traditional Vs Turn Around Documents
    • - Structured Vs Inquiry based reports


SELECTING THE PROPER SYSTEM

Strategy compares

Strategy compares is system compared based on cost and gain relatively; There is 3 A's system trick is said more superior with another system, if:

  • - A have inferior cost of B and both have same gain
  • - A have inferior cost of B and A produce gain more than B
  • - A and B have same cost but resulting gain of A is more


Severally System Compares Method:

  1. 1. Break Even point Analyisis
  2. 2. Payback Period
  3. 3. Discounted PayBack period
  4. 4. Internal Rate of Return


Cost category

  • - Hardware
  • - Software
  • - People
  • - Suppliers
  • - Telecommunications
  • - Physical sites


Cost detail

Comparing information system's cost through life system, analyst shall projection how much change of cost for the future and there is 3 models of information system's cost which is Linear, Exponential and Step Function.


Information system's cost can happen just once and also can happening chronically.

  • - information system's cost happening that just once which is on time's cost and development's cost that do happen while system development.
  • - Information system's cost happening continually among those is recuring's cost and operational cost where this cost happens while operating information system everyday.


INFORMATION SYSTEM FACTOR

Qualitative factor that aim good information system's performance among those:

  • - Reducing fault's level
  • - Reducing time to fix fault
  • - Reducing response time from workstation alternative
  • - Hastening time to supply information
  • - Increasing system security
  • - Increasing record's source update active
  • - Increasing user satisfaction


CORPORATE STRATEGY FACTOR

  • - Consumer satisfaction
  • - Sell level increases
  • - Consumer commitment and vendor
  • - Product marketing information


System learning presentation

  • >> Doing presentation in few words
  • >> Reducing technique's explanation in detail
  • >> presentation clearly with visual's assistive tool
  • >> If utilizes model to utilize assistive tool e.g. laptop so more informative
  • >> Emphasize gain of information system proposal with severally alternative that available appropriate condition which experienced by firm.


DECISION KEEP IT UP OR NOT

  • <> If firm decides to develop system therefore information department will do succeeding process which is Process System Design.
  • <> If contrariwise therefore System Development Life Cycle (SDLC) will be discontinued.
  • <> Oft will find problem with study's system and usually top management will ask for to do its reworking to study's system.
  • <> Model will explain some part step which to be repeated and sometimes information department will make decision to repeating steps before explain study's system.
  • <> With alternative, decision for repeating a SDLC's step in advance or not been called Go – No – Go Decision.

07 March 2009

Information Systems Analysis and Design [Part-2]

The importance of developing a system

System development can be interpreted to arrange a new system to replace the previous system as a whole or repair the existing system. The previous system need to be repaired because of a few things, which is:


a. Mark sense about problem that arises at previous system. The problems such as :

- Wrongness

Wrongness in previous system causes system that can't operate according to expected. An amiss can be as a fault that didn't intentional so cause truths of reducing data are secured.

- Organizational growth

Organization growth caused must be arranged a new system. The organization growth such as information requirement that progressively extends, data processing volume gets to increase, changing accounting principle a new one.

b. Get the opportunities

Information Technology expanding very quickly, then organizational start to feel that this TI require to be used ready to increase information. in emulation of market, speed of time efficiency or information very determining success or failure of plan which have been made arrangements for to reach for existing opportunities.

c. Existence of instructions (directives)
The arrangement of new system can be done because of existence of instructions from the leader or from outside of organization like regulation of government.


Purpose or goal of developing an information system

From the problems above, we can meet the purpose or goal of developing information system such as:

- to solving some problems

- reach for opportunity

- fulfilling given instruction


The organization's expectations after implementing an information system

As developing a new system, then will be happened the improvement in a new system. The improvement related to PIECES (is the acronym for easier), such as:

- Performance, the improvement of performance in a new system make the system will be effective. Performance can be measurement from throughput and response time where throughput is amount of work of which can done certain in a moment and response time is time mean which delay between two transactions.

- Information, the improvement of information quality which presented.

- Economy, the improvement of benefits and advantages or decreasing cost that happened.

- Control, the improvement of control to detection and repairing some faults and insincerity which possible happened.

- Efficiency, the improvement of operating efficiency. Efficiency related with how to use resource without doing extravagance.

- Services, the improvement of services given by system.


The principles of developing an information system

  • 1. System for the management

  • 2. System is big investment

  • a. Investigation of all alternative ( minimizing missing cost opportunity)

  • b. Best investigation have to be valuable : analysis cost-benefit & analysis cost-effectiveness
  • 3. System need educated people

  • a Not educations have to be formal but can do on-the-job training.Activity steps and the tasks that must have to be done in system development. This activity is shown on System Development life cycle

  • 4. System development processes not have to be successive.

  • 5. Don't fear to cancel the project

  • 6. System documentation for guidance in system development


Systems Development Life Cycle

The Systems Development Life Cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project from an initial feasibility study through maintenance of the completed application. Various SDLC methodologies have been developed to guide the processes involved including the waterfall model (the original SDLC method), iterative model and the spiral model.

Documentation is crucial regardless of the type of model chosen or devised for any application, and is usually done in parallel with the development process. Some methods work better for specific types of projects, but in the final analysis, the most important factor for the success of a project may be how closely particular plan was followed.

A. Waterfall model

The image below is the classic Waterfall model methodology, which is the first SDLC method and it describes the various phases involved in development.


Briefly on different Phases:

Requirement Analysis and Design

Analysis gathers the requirements for the system. This stage includes a detailed study of the business needs of the organization. Options for changing the business process may be considered. Design focuses on high level design like, what programs are needed and how are they going to interact, low-level design (how the individual programs are going to work), interface design (what are the interfaces going to look like) and data design (what data will be required). During these phases, the software's overall structure is defined. Analysis and Design are very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage of the software development. Much care is taken during this phase. The logical system of the product is developed in this phase.

Design

In system design functions and operations are described in detail, including screen layouts, business rules, process diagrams and other documentation. The output of this stage will describe the new system as a collection of modules or subsystems.

Implementation

In this phase the designs are translated into code. Computer programs are written using a conventional programming language or an application generator. Programming tools like Compilers, Interpreters and Debuggers are used to generate the code. Different high level programming languages like C, C++, Pascal and Java are used for coding. With respect to the type of application, the right programming language is chosen.

Testing

In this phase the system is tested. Normally programs are written as a series of individual modules, these subjects to separate and detailed test. The system is then tested as a whole. The separate modules are brought together and tested as a complete system. The system is tested to ensure that interfaces between modules work (integration testing), the system works on the intended platform and with the expected volume of data (volume testing) and that the system does what the user requires (acceptance/beta testing).

Maintenance

Inevitably the system will need maintenance. Software will definitely undergo change once it is delivered to the customer. There are many reasons for the change. Change could happen because of some unexpected input values into the system. In addition, the changes in the system could directly affect the software operations. The software should be developed to accommodate changes that could happen during the post implementation period.

B. Iterative model

  1. In software development, iterative is used to describe a heuristic planning and development process where an application is developed in small sections called iterations. Each iteration is reviewed and critiqued by the software team and potential end-users; insights gained from the critique of iteration are used to determine the next step in development. Data models or sequence diagrams, which are often used to map out iterations, keep track of what has been tried, approved, or discarded, and eventually serve as a kind of blueprint for the final product.

    The challenge in iterative development is to make sure all the iterations are compatible. As each new iteration is approved, developers may employ a technique known as backwards engineering, which is a systematic review and check procedure to make sure each new iteration is compatible with previous ones. The advantage of using iterative development is that the end-user is involved in the development process. Instead of waiting until the application is a final product, when it may not be possible to make changes easily, problems are identified and solved at each stage of development. Iterative development is sometimes called circular or evolutionary development.


C. Spiral model

  1. The spiral model, also known as the spiral lifecycle model, is a systems development lifecycle (SDLC) model used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and complicated projects.

The steps in the spiral model can be generalized as follows:

a. The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system.

b. A preliminary design is created for the new system.

c. A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.

d. A second prototype is evolved by a fourfold procedure: (1) evaluating the first prototype in terms of its strengths, weaknesses, and risks; (2) defining the requirements of the second prototype; (3) planning and designing the second prototype; (4) constructing and testing the second prototype.

e. At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.

f. The existing prototype is evaluated in the same manner as was the previous prototype, and, if necessary, another prototype is developed from it according to the fourfold procedure outlined above.

g. The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired.

h. The final system is constructed, based on the refined prototype.

i. The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.


Approaches of developing a system

There are several approaches to developing a system, that is:

>> Classical approach vs. structured approach

Classical approach is an approach of developing a system that follow steps at system life cycle without supplied with tools and techniques.
Troubleshoots which can arise from this approach, such as:

a. Difficult development.
Classic approach less give tools and techniques insides develop system and finally software development process becoming not directional and difficult to be done by programmer.
b. Treatment cost or system maintenance will be more expensive.
The expensive treatment cost at classic approach caused system documentation that developed less complete and less structured.
c. Possibility of big error.
This approach doesn't prepare to manner systems analysis to do system testing, so that system errors possibility will be bigger.
d. System achievement less well guaranteed.
Because classic approach less involve system user in system development, so system user needs are less matching with the one which desirable and as finally system that applied less success.
e. Applying system internal issue.
User will be startled and unaccustomed with new system suddenly introduced.

Structured approach equipped with tools and techniques that wanted in system development, so that the end result from system which developed be got system the structure will be defined well and clear.
In this approach, consumer involve from early to determine requirement of system and using tools like data of flow diagram

  • >> Piecemeal approach vs. system approach
  • Piecemeal approach is system approach development that emphasized at one particular activity or certain application. This approaching just notice target of activity or the application.
  • System approach is paying attention information system as one integrated unity for each activity or the application. This approach also emphasized in overall goal achievement from organization, not only in that information target.

  • >> Approach of bottom-up vs. approach of up-down

  • Bottom-Up Approach is beginning from level under organization, that is from formulation requirements to handle transaction and climb level on with formulate information need based on transaction. If Bottom-up approach is used in systems analysis steps, it also called by data analysis's terminology, because the becoming pressure is data who will be processed beforehand, information that will be yielded catch up to following the data.

  • Up-Down Approach on the contrary is beginning from level up organization that is from defining the target and organization policy. Step furthermore from this approach analyses requirement of information. After information is determined, then process goes to transaction processing, that is determination output, input, data base, operating procedure and control. When top-down approach used in systems analysis steps it is also called by decision analysis terminology, because the becoming pressure is information that wanted for making decision by management beforehand, then data which need to be processed will be defined to follow required information.


  • >>Total-system approach vs. modular approach

  • Total-system approach is the approach which developing a system together according to comprehensive. This approach less synchronized for complex system, because will be difficult be developed. This approach is feature classic approaches.

  • Modular Approach tries to divide complex system to simple some part, so that system easier will be understood and developed. Furthermore consequence system can be developed of time that planned, easy understood by system user and easy to maintain. This approach is feature structured approaches.


  • >> Great-loop approach vs. evolutionary approach

  • Great-loop approach applying change totally at a time use sophisticated technology. This change contains many risks, because computer technology so great-loop. This approach also too expensive, because need investment at the same moment for all technology that used and difficult to developed because it's too complex.

  • Evolutionary approach applies sophisticated technology just for applications that need that moment and will be developed for next periods based on technology development. This approach causes investment not too expensive and can follow fast technology development.


The meaning of methodology, method and algorithm

As we know there are approaches in developing a system. Now how to do these approaches? To developing a system, it is required by methodologies. Methodology are utilized methods, procedures, professions concept, rules and postulates that used by a science, art or the other. Method is someway systematic to work something. And algorithm is medley procedural to solve problems.


The classifications of development methodology

There are three classifications of developing a system, such as:

  • A. Functional decomposition methodologiesFunctional decomposition is emphasizing to divide a system becomes subsystem. There are the include in this group methodologies such as HIPO, Stepwise refinement, iterative stepwise refinement and information hiding.
  • B. Data-oriented methodologies
  • Data-oriented is emphasizing on processed data characteristic. This approach can be grouped in two:
  • a. Data-flow oriented: based on dividing system to modules pursuant to elements data types and logic behavior of these modules in system. There are the include in this group methodologies such as SADT (Structured Analysis and Design Techniques), Composite Design.
  • b. Data structure oriented: emphasizing structure of input and output in system. There are the include in this group methodologies such as JAD (Jackson's system development), W/O (Warnier/Orr).
  • C. Prescriptive methodology

    This methodology usually has been provided by software maker factory. In this methodology including:

    • - ISDOS (Information System Design and Optimization System)
    • - PLEXSYS
    • - PRIDE
    • - SDM/70
    • - SPECTRUM
    • - SRES and SREM, etc.


Tools for developing a system

To do steps according with methodology developing a system, then needed a tools and techniques. The tools there are in the form of diagram and chart, such as : HIPO diagram, Data flow diagram, SADT, structure chart, Jackson's diagrams, etc.

Besides the tools that mention above, there are utilizes that used at all of methodology. The tools as a chart set that grouped by:

  • a. Activity charting: to figuring activity, example: chart's substituting, flowchart, etc.

  • b. Layout charting: to figuring layout

  • c. Personal relationship charting: to figuring person relationship, example: organization chart, working distribution chart

Techniques used in developing a system

Techniques used in developing a system, as follows:

  • a. Project management techniques, this techniques used to scheduling project, example: CPM and PERT
  • b. Fact finding techniques, techniques to gather and determines data / fact. The techniques that is:
    • - Interview
    • - Observation
    • - Questionnaires
    • - Sampling
  • c. Cost effectiveness analysis or cost-benefit analysis
  • d. Techniques for going meeting
  • e. Inspection techniques/walkthrough

The differences of being a system analyst and a programmer

System analyst is different with programmer, the differences are:

  • a. System analyst is people that studying problems and determine system user requirements to identify resolving, while programmer is people that writing program code bases engineering that made by analyst.
  • b. Responsibility a programmer is limited to computer program makings, but system analyst to system as a whole.
  • c. Knowledge a programmer is limited to computer technology, computer system, utilities and program language required. But system analyst must have a wide of knowledge.


The knowledge a system analyst should posses

System analyst must have a wide knowledge and skills. There are some skills which are very needed for a good system analyst.

  1. 1. Knowledge and skill about data processing technique, computer technology and computer programming
  • a. Technical skill that must have is including skill of using tool and technique for application software development.
  • b. Technical knowledge that must have knowledge about hardware, data communication technology, computer languages, operating system, utilities, and another.
  1. 2. Knowledge about business in general

    This knowledge is wanted so that system analyst can communicate with system user.

  2. 3. Knowledge about quantitative method.
    System analyst use many quantitative methods in build application models, like dynamic programming, regression, network, decision tree, trend, simulation and other as it.
  3. 4. Trouble-shooting skill.
    System analyst must have ability to put complex troubleshoots that is faced by business, divide problem into parts, analyze it and then must can return composed to be a system can overcome troubleshoots.
  4. 5. Communication skill delivers staff.
    System analyst must have ability to hold communication either through tongue or article.
  5. 6. Skills to builds relationship among personal
    Human is factor critical insides system and human character one with another is different, so that need a skill to build connection or relationship among personal.


References:

Hartono, Jogiyanto.2005.Analisis dan Desain Sistem Informasi: Pendekatan Terstruktur, Teori dan Praktik Aplikasi Bisnis. Yogyakarta: Andi.

http://en.wikipedia.org/wiki/Software_development_methodology

http://searchsoftwarequality.techtarget.com/sDefinition/
0,,sid92_gci519105,00.html

http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci519580,00.html

http://searchsoftwarequality.techtarget.com/sDefinition/
0,,sid92_gci755347,00.html