Minggu, 03 Mei 2009

normalization assignment

This is the original diagram from the question :

Then we recreate the diagram to fix the problem on above diagram :
1. There’s no cardinality between entity BAGIAN and PROYEK. It should have been 1-N from BAGIAN to PROYEK. With logic : one BAGIAN may have many PROYEK, and one PROYEK may only have one BAGIAN.
2. The ternary relationship between entity PEGAWAI, PROYEK, & TANGGUNGAN seems strange.
It’s logical if the PEGAWAI has a relation with TANGGUNGAN (TANGGUNGAN be the weak entity because it’s dependant with the existence of the PEGAWAI). But if it’s also has a relation with PROYEK (be the ternary relationship), it may seems a little strange. It’s also supported with the existence of relation between PEGAWAI an PROYEK. Then why we must have a relation again with ternary relationship here? It seems irrational to me, so I delete the ternary relationship here, change them only with binary relationship (between entity PEGAWAI and TANGGUNGAN).
3. To determine the mapping later, we need to fix the relation PIMPIN between entity PEGAWAI and BAGIAN to gain the foreign key. So with the logic : one BAGIAN must be managed at least by one PEGAWAI, and one PEGAWAI must not managing one BAGIAN; we create the participation here partial-total from PEGAWAI to BAGIAN.
Then the fixed ER diagram is :

Then we create the mapping for this ER diagram :

After that, we then should make the normalization for 1NF first as follows :
For the 2NF normalization, the above normalization has also been the 2NF normalization. So we don’t have to normalize it again to 2NF normalization.
And then for the 3NF normalization, first we should determine which of the attribute from above has a transitive dependency. So then we may guess, the attribute which has the transitive dependency is :

Sabtu, 25 April 2009

NORMALIZATION

DATABASE DESIGNING PROCESS
• Collect the user / business requirement
• Develop the E-R Model based on user / business requirement
• Convert the E-R Model to a relation (table) community
• Normalize the relation to get rid of the anomaly
• Implement them into database by making table for each relation that has been normalized

DATABASE NORMALIZATION
• Normalization is a database structure making process so most of the ambiguity can be cleared
• Normalization phase start at the lowest phase (1NF) till the highest phase (5NF)
• Usually only reach 3NF level or BCNF because it has been adequate to produce high quality tables
• Why Do We Need Normalization ?
- To optimize the table structures
- To increase speed
- To restrict the insertion of same data
- More efficient in using storage media
- Reduce redundancy
- To avoid anomaly (insertion anomalies, deletion anomalies, update anomalies)
- To increase data integrity
• A table can be a good (efficient) one or normal if meet 3 criteria below :
- If there's decompositioning table, so the decompository must be ensured safe (Lossless-Join Decomposition). Which means, after that table being decomposed into new tables, that new tables could also produce the former tables similarly
- Being maintained the functional dependency when occur the data changes (Dependency Preservation)
- Not defying the Boyce-Codd Normal Form (BCNF)
• If the third criteria cannot be fulfilled, so at least that table not defying the Normal Form Third Phase (3rd Normal Form / 3NF)

FUNCTIONAL DEPENDENCY
• Functional Dependency describes the attributes relationship in a relation
• An attribute can be functional dependant with others if we use that attribute value to determine the value of other attribute
• The symbol that was used is --> to represent functional dependency. --> was read : functionally determine
• Notation : A --> B
- A and B are attributes from a tabel. Which means functionally A determines B or B depends on A, if and only if there're 2 data row with same A value, so B value also the same
• Notation :
- Is a reverse from previous notation
• Functional Dependency Example
- Functional Dependency :
• NRP --> Nama
• Mata Kuliah, NRP --> Nilai
- Non Functional Dependency :
• Mata Kuliah --> NRP
• NRP --> Nilai
• Functional Dependency from table nilai :
- NRP --> Nama
• Because for every same NRP value, so Nama value also the same
- {Mata_Kuliah, NRP} --> Nilai
• Because attribute Nilai depends on Mata_Kuliah and NRP all together. In other meaning, for every same value of Mata_Kuliah and NRP, so Nilai is also the same, because Mata_Kuliah and NRP are the key (unique)

FIRST NORMAL FORM (1NF)
• A table is in a normal 1 form if it's not in an unnormalized table form, where there're duplication of homogenous field and may exist null fields
• They're not permitted to be :
- Multivalued attribute
- Composite attribute or combination of both
So :
- Domain attribute value must be atomic
• Example
- If there're tables as follows :
Or
- Both of tables above doesn't meet 1NF requirement
- It should be decomposed to be :
• Table Mahasiswa
• Table Hobi

SECOND NORMAL FORM (2NF)
• Second Normal Form 2NF is satisfied in a table if it has satisfies the 1NF, and all attribute except primary key, integratedly have functional dependency in primary key
• A table doesn't meet 2NF, if there're attributes which its dependency (Functional Dependency) only being partial (only dependant in half of the primary key)
• If there're attributes which doesn't have dependency with primary key, so that attribute must be removed
• Functional Dependency X --> Y was said to be complete if deleting some attribute A from X means Y not anymore functional dependant
• Functional Dependency X --> Y was said to be partial if deleting some attribute A from X means Y still functional dependant
• Relation schema R in form of 2NF if every attribute non primary key A є R full dependant functionally in primary key R
• This table below meet 1NF, but doesn't meet 2NF :
• Doesn't meet 2NF, because {NIM, KodeMk} which assume to be the primary key, while :
{NIM, KodeMk} --> NamaMhs
{NIM, KodeMk} --> Alamat
{NIM, KodeMk} --> Matakuliah
{NIM, KodeMk} --> Sks
{NIM, KodeMk} --> NilaiHuruf
• That table must be decomposed first into some table which meet the 2NF requirement
• The functional dependency :
- {NIM, KodeMk} --> NilaiHuruf (fd1)
- NIM --> {NamaMhs, Alamat} (fd2)
- KodeMk --> {Matakuliah, Sks} (fd3)
• So :

THIRD NORMAL FORM (3NF)
• Third Normal Form 3NF was met if it has met the form 2NF, and if there're no non primary key attribute which have dependency with other non primary key attribute (transitive dependency)
• Example :
- Table mahasiswa as follows, met the 2NF requirement but not met the 3NF requirement
- Because there's still non primary key attribute (Kota and Provinsi) which has dependency with other non primary key attribute (KodePos)
KodePos --> {Kota, Provinsi}
- So that table must be docomposed into :

BOYCE-CODD NORMAL FORM (BCNF)
• Boyce-Codd Normal Form has a stronger constraint from third normal form. To become a BCNF, relation must be in First Normal Form and every attribute is induced to be dependant at function in super key attribute
• In example below, there's relation Seminar, where the primary key is NPM + Seminar :
- Siswa could take one or two seminar. Every seminar needs 2 pembimbing and every siswa is guided with either 2 of those two pembimbing seminar. Every pembimbing must only have one seminar. In this example, NPM and Seminar show the Pembimbing.
- The Seminar relation form is a third normal form, but not a BCNF because KodeSeminar still functional dependant at Pembimbing, if every Pembimbing could teach only one seminar. Seminar dependant at one non super key attribute like the one that conditioned by BCNF. So, relation Seminar must be splitted into two part, that is :

FOURTH AND FIFTH NORMAL FORM
• A relation is in Fourth Normal Form (4NF), if a relation is in BCNF and doesn't have multivalued dependency. To erase the multivalued dependency from one relation, we should divide the relation into two new relation. Each relation then has two attribute which has a multivalued relation
• Relation in Fifth Normal Form (5NF) has to deal with property which called join without losing the information (lossless join). This fifth normal form (5NF) also called PJNF / Projection Join Normal Form. This case is really rare appear in reality and hard to detect practically.

Below is summary of the normal form mentioned above :

Minggu, 19 April 2009

Database and Entity Relationship Diagram

DATABASE DEFINITION
• A set of data, stored in magnetic disc, optical disc, or other secondary storage
• A collection of interconnected data from some enterprise (companies, governments institute, or private)
- Manufacture company --> production planning data, actual production data, material ordering data, etc
- Hospital --> patient data, doctor, nurse, etc
• A structured collection of records or data that is stored in a computer system. The structure itself is achieved by organizing the data according to a database model. Where the model in most common use today is the relational model.

DATABASE MANAGEMENT SYSTEM
• A software to organize the storage of data
• A collection / combination of database with a data based application software
• These application program was used to accessing and maintaining database
• Main objectives of DBMS are to provide an easy and efficient environment for usage, retrieval and storing data and information

BIT, BYTE, and FIELD
• Bit is the smallest part of data contains a 0 or 1 value
• Byte --> a collection of one kind bits
• Field --> a collection of one kind bytes where in database often called attribute
ATTRIBUTE / FIELD
• Attribute / field is a characteristic from one entity which provide a detailed explanation about that entity
• A relation can also have attributes
• Example of attribute :
- MAHASISWA : NIM, NAMA, ALAMAT
- MOBIL : NOMOR_PLAT, WARNA, JENIS, CC

ATTRIBUTE TYPES
• Single Vs Multivalue
- Single --> can also be stored with at most one value
- Multivalue --> can also be stored with more than one value but still in one type
• Atomic Vs Composition
- Atomic --> cannot be divided into a smaller attribute
- Composition --> a combination of some smaller attribute
- Derived Aatribute
• An attribute which its value can be produced from value of other attribute
• Ex : age can be produced from attribute birthdate
- Null value attribute
• An attribute which doesn't have a value for certain record
- Mandatory Value Attribute
• An attribute which must have a value

RECORD / TUPPLE
• Record / tupple is a row of data in certain relation
• Consist of a collection of atribute which its attribute interrelated each other to inform the entity / relation completely

Entity / File
• File is a collection of one types record and have a same element, same attribute but different data value
• File Types
- In application processing, file can be categorize by :
• Main file
• Transaction file
• Report file
• History file
• Protection file
• Working file

DOMAIN
• Domain is a set of value which permitted to be in one or more attribute
• Every attribute in certain relational database was defined as a domain

ELEMENT DATA KEY
• Key is a record element which used to find that record in access time or can also be used to identify every entity / record / row

KEY TYPES
• Superkey is one or more attribute from certain table which can be used to identify entity / record from table in unique way (not all attribute can be a superkey)
• Candidate key is a superkey with minimal attribute. Candidate key cannot be filled with attribute from other table so a candidate key is definitely a superkey, but not in the contrary
• Primary key
- One of attribute from candidate key can be choosen / specified into primary key with these three criteria :
• That key must be more natural to be used as a reference
• That key must be simpler
• That key must be ensured its uniqueness
• Alternate key is an attribute from unchosen candidate key which was chosen to be primary key
• Foreign key is a random attribute which points to primary key in other table. Foreign key can exist in certain relation which have a one to many cardinality or many to many. Foreign key usually placed in a table that connects to many
• External key is a lexical attribute (lexical attribute compilation) which its value often identifies one instance object

ERD (ENTITY RELATIONSHIP DIAGRAM)
• ERD is a networking model which used a structured word which stored in the system abstractly
• The differences between DFD and ERD :
- DFD is a functional networking model which will be applied by the system
- ERD is a data networking model which emphasizes in structured and data relationship

ERD ELEMENTS
• Entity
In ER Diagram, entity was denoted with rectangle shape. Entity is something that exist in real system as well as abstract where lies the storage of the data or the data being stored
• Relationship
This relationship ER Diagram was denoted with a rhombus shape. Relationship is a natural relation that exists between entity. Generally named with a basic verb in order to easy to do the reading of the relation
• Relationship Degree
Denoting a number of entity which participated in one relationship. A degree which often used in ERD.
• Attribute
Denoting a characteristic from every entity or relationship
• Cardinality
Shows a maximum number of tupple that can be related with entity, in other entity

RELATIONSHIP DEGREE
• Unary Relationship
Denoting a relationship model which exist between entity that come from same entity set
• Binary Relationship
Denoting a relationship model which exist between 2 entity
• Ternary Relationship
Denoting a relationship between instance from 3 entity type unilaterally

CARDINALITY
There're 3 cardinality relation, those are :
• One To One
Relation One To One denoted with one event in the first entity, only have one relation with one event in the second entity, and vice versa
• One To Many or Many To One
Relation One To Many is the same with Many To One, depends from which direction that relation is seen. For one event in the first entity can have many relation with event in the second entity. If otherwise, one event in the second entity only can have relation with one event in the first entity
• Many To Many
This relation exists, if every event in certain entity have many relation with event in other entity

CARDINALITY EXAMPLE

NOTATION (ER DIAGRAM)
Simbolic notation in ER Diagram are :
• Rectangle denoting an entity community
• Circle round shape denoting attribute
• Rhombus denoting a relation community
• Line as a connector between relation community with entity community and Entity Community with its attribute

Minggu, 05 April 2009

DATA FLOW DIAGRAM

DATA FLOW DIAGRAM

Data Flow Diagram
• Describing the system classification into a smaller modul
• Facilitate the user which less understand about computer to understand better about the systems under way
• Also called, a tools for making the systems model that allows the expert to describe the systems process as a functional network that connect as one with the data flow, either it is manually or computerized

Context Diagram
• Consist of one process and describe the scope of the system
• The highest level of DFD which describe all input into the system and output from the system
• System was limited by boundary (shown by ruptured line)
• Doesn't have a storage
• Steps for making context diagram :
- Specify the name of the system
- Determine the limits of the system
- Determine the terminator that exist in the system
- Determine what is to be received/given for the terminator from/to the system
- Draw the context diagram

Nil Diagram
• Describing the process from DFD
• Giving a comprehensive sight of view for the systems under way, to show the existing function or main process, data flow and external entity
• In this level there's possibility of data storage
• For process which didn't explained in detail for the next level, so it was added by simbol "*" or "P" in the end of the process number
• The balance of input and output (balancing) between nil diagram and context diagram must be well preserved

Detailed Diagram
• A diagram that explain which process should exist in the nil diagram or in the upper level
• Level numbering in DFD :

Level name Diagram name Process number
----------------------------------------------------------------
0 Context
1 Diagram 0 1.0, 2.0, 3.0, ...
2 Diagram 1.0 1.1, 1.2, 1.3, ...
3 Diagram 1.1 1.1.1, 1.1.2, ...

• On one level, it should be better if there exist not more than 7 process and it should've max 9 process, if there're more than we must do the decomposition

Process Spesification
• Every process in the DFD must've a process spesification
• On the top level, the method that was used to figure the process can be in mean of descriptive sentence
• On more detail level, that was in the lowest level (functional primitive) need a more structured spesification
• Process spesification will be a guide for the programmer in making program (coding)
• The method that was used in process spesification : process explanation in the form of narrative, decision table, decision tree

External Unit
• Something that was exist outside of the system, but it gives data to the system or gives data from the system
• Simbolize by notation box
• External entity not included into the system
• Denomination :
- Terminal name used the any noun word
- Terminal mustn't have same name except the object is also the same

Data Flow
• Show the flow of the information
• Figured by a straight line that connecting component from the system
• Data flow shown by an arrow line given the name by the streaming data flow
• Data flow streams between yhe process, data storage and show the data flow from the data in form of the input for the system
• Guide for denomination :
- Naming for data flow consist of some word that connect to the connecting line
- There mustn't any data flow which has a same name and denomination must reflect the content
- Data flow consist of some element which denominated by element group
- Avoid using the word "data" and "information" for denomination in data flow
- The name of data flow must be written fully
• Another prescription :
- Data flow name which get into a process mustn't identic with the data flow name which come out from that system
- Data flow that get in or out from data storage may not given name if :
• The data flow is simple and easy to understand
• The data flow figures the entire of data item
- There mustn't any data flow from the terminal goes to the data storage or vice versa because terminal is not a part from the system, terminal relationship with data storage must go through the process

Process
• Process explained what should be done by the system
• Process may processed the data or incoming data flow into an outcoming data flow
• Process has a function to transformed one or more input data into one or more output data according to the desired spesification
• Every process has one or more input and produce one or more output
• Process also often called "bubble"
• Guide in process denomination :
- Process name consist of verb and noun which reflect the function of that process
- Never use a word "process" as a part of name for one bubble
- There mustn't any process which have a same name
- Process must given numbers. Number sequence considerably follows the flow or process sequence, but the number sequence doesn't mean the process sequence cronologically

Data Storage
• Data storage is a place to store tha data that exist in the system
• Simbolize by a parallel line or two line with one of the side spread wide open
• Process may take data from the database or give data to the database
• Guide for denomination :
- The name must reflect data storage
- If the name consist of more than one word so we must give a conjunction sign

DFD Symbol



































Data Dictionary
• Has a function to help the systems subject to interpret the application in detail and organize all data element that was used by the system exactly so that the user and system analyst have a same basic understanding about the input, output, storage, and process
• In analyzing phase, the data dictionary was used to communicate between system analyst and the user
• In system development phase, the data dictionary was used to develop the input, report, and database
• Data flow in DAD has a global characteristic, more detail explanation can be seen in data dictionary
• Data dictionary contains all these things :
- Data flow name must be taken note in order for the reader who needs detailed explanation about one data flow can search through it more easily
- Alias or other name for the data must be written if exist
- Data shape was used in categorizing data dictionary into its usage when developing systems
- Data flow shows from where the data flows and where the data headed
- Explanation, give the explanation about the meaning of the data flow

Balancing in DFD
• Data flow that goes in and out from one process must be equal with the data flow that goes in and out from the detailed process in the under level
• Data flow name that goes in and out from one process must be equal with the name of data flow that goes in and out from that detailed process
• The number and name from external entity from one process must be equal with the number and name of the external entity from that detailed process
• Things that should be taken note for in DFD that has more than one level :
- There must be a balance in input and output between one level and other level
- Balance between level 0 and level 1 can be seen in input/output from the data flow to/from the terminal in level 0, while the balance in level 1 and level 2 can be seen in input/output from data flow to/from the relevant process.
- Data flow name, data storage and terminal in every level must be equal if the object is also the same

Prohibition In DFD
• Data flow mustn't be from external entity directly go to other external entity without going through some process
• Data flow mustn't be from data storage directly go to external entity without going through some process
• Data flow mustn't be from data storage directly go to other data storage without going through some process
• Data flow from one process directly go to other process without going through some data storage should likely be avoided

Minggu, 29 Maret 2009

Investigation Initialization, The Requirement Analysis

Investigation Initialization, The Requirement Analysis

Investigation System Concepts
Based by a gap between systems objectives and condition in reality. To recognize the things which caused a failure to the system, then an analyst might better do the investigation in advance before conducting an action to improve the system.
Many reports in problem detection aren’t really trusted. They’re caused by :
• The systems objectives are too ideal so there’re possibilities that they could not be reached.
• Lack of resources and or attitudes.
• Systems measurement is less accurate.
• The systems objectives that was outdated.
• Differences between ideal system and the current system.
Some of the problem solving :
• Clarification of the system under way by investigating them in detail.
• Get the ideal system consensus.
• Develops some alternatives to lessen the gap between ideal systems with the systems under way.
• Choose the best alternatives.
To be noticed that the real objective of the investigation is to show the real problems that was happening, beside as a mode to an analyst to understand his system more clearly.

Constraints in investigation system
There are some constraint that might happened, those are :
• Time
Analysts often lacks time resources, so they may only done less investigation. Usually, time is related to the required expense problem.
• Cost
The released expense often related to the duration time for activity investigation, so that management will give the constraint of the expense.
• Knowledge
Manager of information system gives order to the junior analyst which not yet owned technical membership or the knowledge enough, so that will affect the investigation result less sharpen, or complete.
• Politics
Certain management, sides or possibly propagates the issues of the objectives to pursue activity of investigation.
• Interference
There are possibilities of the sides trying to interfere or arrange in one activity investigation so that will cause a bobber.

Recommendation
The result of the investigation is a recommendation that contains :
• Not taking any action because there’re no problems discovered.
• Doing regular system maintenance for minor problems.
• Improving the ability and skill of the user in using information system.
• Reconsider to remodify the systems totally.
• Placing the problem that was happening on reality into the system development plan that will be done.

Investigation Tactics
Why do we need tactics?
o To discover all possible problems
o To know the cause of the occuring problems.
o To find the appropriate solution.

Some of the tactics we could perform :
• Listen to the opinion of the systems user, and do not lecture them.
If you know all answers, sure you will not do the investigation. In activity of investigation, we better give enough time for management side or user to explain clearly, and make sure the system analyst doesn't predominating the discussion.
• Don't give the resolving early to problem (do not presolve the problem).
Mean don't try to show the idea to solve problem, before all activity of investigation is completed done.
• Compare solutions from different user.
People mean to have a different point of view to a same problem. So we shall not listen from one source so that there's only one point of view (opinion). When user have difference of view, it;s better to look for his difference and then look for the view that has same equality.
• Observe for a logical inconsistencies.
Logical inconsistencies stops a data flow, where the data could be lost, or suddenly emerged with the selected data. Some matters related to this problems :
o There are data entered but there’re no output (black hole).
o There are output but there’re no inputs (miracles).
• Expect a hard work.
We should be a patient and professional detective in handling problems of system gradually and continually.
• Avoid politics.
System analysts mission is fact not judging.

Investigation Technique
• Direct (Internal) Investigation :
This method is to know directly what is going on in user environment. They permit you to observe directly through it without going through selected sides (interpreter). Internal probes is the source of disruptive, because it may cause an arising in difference of attitude. There are three technique to do the direct investigation, those are:
o Questionnaires
This technique is very precise, if in an investigation has the needed expenses and time constraint. As for things in questionnaire condition of explanation will be difference if we look it directly (face to face interview). The best usefulness from questionnaire is a document was able to show differences that happened at the responder.
o Interview.
This activity required the specialty and time. Everybody couldn’t do the question and answer successfully. Interview question can applicable to a more successive beside it was more flexible as according to field condition.
o Observation.
Observation is a powerful internal investigation. Take a seat with the systems user by doing the perception with a more specific question. Like : why did you do this activity? or where this document will be removed? Every question is possibly can show the mysterious trouble-shooting.
• Indirect (External) Investigation :
This activity can be done swiftly and invisible of personal operational, so with this we can know the external side or something that was hidden from the user community. Ex :
o Procedure flow.
Procedure operational is medium for officer that is newly understand his work and experience of employees to handle the problem. If the flow of aprocedure is not going right, the information system also cannot be operated correctly. Use the systems flowchart to trace the way information as procedure explained in this operation. If there is this problems of procedure, the problem possibly will arise in the operational to be in reality.
o Document review.
By getting and collecting the important document (critical document). If a problem would happened in customer orders, we should collect the original document source from customer orders which used as the entry data, interactive screen format, detail transaction, summary and mistake of report that happened. The document often become the cause of the problem.
o Sampling.
We might require information from vendor billing which have given the discount at the time of payment, because company of discount moment money loss is not given on the happening of delay of payment. You can entangle customers of payer to get the information (despite of many transactions). Finally you can list sample data with election random for the one of last week, choose 20 page of daily transaction, choose 5 item from each chosen page, record the information to each 5 item and count average and variant to samples from all payment transactions that happened.
o Tabular tools
Named also matrix, that is a checklists to find a dismatch in transaction path.

Systems description at this point
Determining the system performance in this time will find it difficult if the company doesn't have a standard measurement of system performance. It’s very unfortunate, that the company tend to not renewing (to update) the system documentation. Therefore, an analyst should improve the document during investigation problem of a system. Descripting system is in this time covers the explanation below :
• Inputs
• Outputs
• Files
• Data elements
• Transaction and action document volume
• Data flow diagrams

Requirement Analysis
Intensive interaction phase between system analysts and end user where the system development team show their skill to get response and trust from the user so that get we can get a good participation from them. Four objectives that should be attained :
- Explaining the systems completely.
- Giving a big picture of how is an ideal information system.
- Bring the ideal information system to this current state with paying attention to the resource constraints.
- Giving a persuasive motivation to the user in developing system.

Requirement Analysis Method
Selection of data collecting method, is required to doing a correction in the requirement system. The methods are interviews, questionnaires, observation, procedure analysis, and document survey. They are :
- Interview
1. How the method is used.
• Select potential interviewees.
• Make an agreement to the potential interviewees.
• Prepare the complete question structure and clearly.
• Choose the person which will be interviewed personally and immediately record it.
2. Goals of the method.
• Personal key in course of DFD.
• Sometimes involve the outsider, like the customers or vendors.
3. Advantage of method.
• Interviewer can measure the respond through question and accommodate it according to the situation that happened.
• Good to the problems that doesn't have structures.
• Show impression to the interviewer personally.
• Peeped out the high response since compilation of meeting.
4. The disadvantage of the method.
• Require dozens of expenses and times.
• Require the special experience and training of interviewer.
• Difficult, compare to the report interview because of subjective natural.
5. When is the method good to be used
• Get the explanation or view from the personal key.
• Test the credibility from interviewees.
• Look for interviews which is contradicted.
• Stabilize the credibility team.
- Questionnaire
1. How the method is used.
• Designed by using standard questionnaire.
• Questionnaire was delivered to the end-users environment work.
• Structure respond summarized in distribution statistic.
2. Goals of the method.
• All end-user with their horizon will be involved in the solution process resolving of system.
• End-User attributed to the process usage of symbols in DFD.
3. Advantage of method.
• Cheap and quick at the interviews.
• Don't require investigator which train only one required expert to design questionnaire to end-user chosen.
• Easy to predict the result of since making questionnaire.
• Easily minimize the expense for all end-user.
4. The disadvantage of the method.
• Cannot make specific question for end-user.
• Cannot show the person end-user.
• Inadaptable of question to end-user specific.
5. When is the method good to be used.
• Simple when asking, and don't have the ambiguous meaning.
• Require wide knowledge from end-user.
• If we only have a few time and expense.
- Observation.
1. How the method is used.
• Personally, an analyst visit the perception location.
• Analysts record the occurrence in perception location, including processing of spread sheet.
2. Goals of the method.
• Process location is geographically shown in DFD (Data Flow Diagram)
3. Advantage of method.
• Get the fact records (data in reality) rather than opinion.
• Don't require question construction.
• Don't disrupt or hide something (end-users don't know that are being perceived).
• Analysts didn't base on the verbal explanation from end-users.
4. The disadvantage of the method.
• If seen, analyst is possibly alter the operation (end-user feel to be perceived).
• On a long term, the fact obtained in one observation might not precise (representative) daily or in a condition weekly.
• Require the experience and special expertise of analyst.
5. When is the method good to be used.
• Require the quantitative picture, as like time, volume, etc.
- Procedure Analysis.
1. How the method is used.
• With this method we can study and identify the document stream lock passing the information system, that is with the data flow diagram (DFD).
• Every key document stream, explain the system operating procedure.
• Through observation, analyst study the reality, than describes the distribution volume (high, lower, medium) and what to do next is to done copying its genuine document.
2. Goals of the method.
• Special document in DFD (Data Flow Diagram)
• Process in DFD.
3. Advantage of method.
• Workable Procedure evaluation with interferences.
• Minimum and not influencing the user operation.
• Stream procedure can become a structure checklist to do the observation.
4. The disadvantage of the method.
• Procedure might not complete and not up-to-date again.
• Studying document stream schema require the time.
5. When is the method good to be used.
• When deciding to do a problem failure of system can assist good scheme.
• Analyst team don't totalize familiar with document stream.
• Describe the document stream disruption activity of function.
- Document survey
1. How the method is used
• Identify the special document and report (physical data flow diagram).
• Collect the real document copy and report.
• Each report or document, used to record data, cover the field ( type and measure), usage frequency and coding structure.
2. Goals of the method.
• Data key stream shown in data flow diagram (DFD).
3. Advantage of method.
• Minimization has been interupted from his operational function.
• Start of data dictionary element.
• Often can consider the fortunate modification procedural.
4. The disadvantage of the method.
• Require more time (there are natural business organization report and document floods).
5. When is the method good to be used.
• Could be used if a system will be designed (during activity of analysis, in clarifying design new system and document analysis can assist to determine the scheme duty hereinafter).
- Sampling
Sampling can assist to lessen the expense and time. We must becareful to choose sample from the population, so that is not experiencing of threat or failure.

Constraint of the Resources
- Time
- Expense
- Expert skill
- Technology
- External factor

Requirement Analysis Document
- Analysis Instruction : Relationship with end user, process monitoring, problems in collecting data
- User Requirement : Real requirement, document requirement, training and new system influence requirement.
- Systems constraint : Explain the time and costs constraint, skill, technology, and external factor.
- Document could be in form of data collection instrument, statistical consensus, logical and physical data stream, initial data element in data dictionary.

Generating Systems Alternatives
How to approach the current state of the system with the ideal system condition :
- By making alternative to solve information system problems.
- Those best alternatives must be applied wisely.

Strategic option :
- Distributed versus centralized processing
Transformation of information decision from centralized data processing to decentralized end user responsibility center.
- Integrated versus dispersed database
Systems developer must consider which data that was entered into the database and into files.
- Surround Strategy of System Development
Sorrounding environment strategy is important in company's take-over because the information system from other company might be different from this current company.

choosing tactics :
- Is done before operational designing selection.

Operational designing selection
Could be grouped into :
- Input
- Online vs Offline 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 Document
- Structured vs Inquiry Based Reports

SELECTING THE PROPER SYSTEM
Comparison strategy : System is compared based on the costs and the profit relatively. There're three ways to say that system A is more superior than other system :
- A has less cost than B, and their profit is equal
- A has less cost than B, and A has more profit than B
- A and B has the same cost, but A has more profit than B

System Comparison Method
- Break Even point Analyisis
- Payback Period
- Discounted PayBack period
- Internal Rate of Return

Costs Category
- Hardware
- Software
- People
- Suppliers
- Telecommunications
- Physical Sites

Costs Spesification
Comparing information system expense through systems life, analysts project how much is the costs conversion for the future and there're three information system costs model, those are the Linear, Eksponensial dan Step Function.

Information system costs may exist just once and might also be continous.
- The information system costs that exist just once is called the ontime cost and the development cost that exist when systems being developed.
- The information system costs that exist continually is called reccuring cost and operational cost where this costs is existed when the information system is on charge daily.

INFORMATION SYSTEM FACTOR
Qualitative factor that was referred to a good information system, are :
- Decreasing the mistake level
- Decreasing the time to correct mistake
- Decreasing the response time from alternative workstation
- Quicken the time to providing information
- Increasing the security level
- Extend the update for active record resources
- Increasing the satisfaction of the user

Company Strategy Factor
- Customer satisfaction
- Selling standard increased
- Customer and vendors commitment
- Product selling information

REPRESENTATING THE SYSTEMS LEARNING
- Doing a brief presentation
- Decreasing the technical explanation in detail
- Presentating clearly with help of visual tools
- If using model, use tools like laptop so that it become more informative
- Emphasize the profit from information system suggestion with existing possible alternative in suit with the condition on the company.

DECISION TO EXTEND OR NOT
- If a company decide to develops the system so then the information department shall do the next process that is System Design Process
- If otherwise, then the System Development Life Cycle (SDLC) will be stopped
- Often we will find a problem with the study system and usually the top management shall ask for reprocessing of the study system
- The model will explain some part of the phase that was reprocessed and sometimes the information department will make a decision to repeat the phase before explaining the study system
- With the alternatives, a decision to repeat the System Development Life Cycle (SDLC) beforehand or not, is called a Go–No–Go Decision

Minggu, 08 Maret 2009

third quiz - summary of chapter 2

1. What is the importance of developing an information system?
The importance of developing an information system, where in this term means developing a new system, is because the old system needs to be replaced due to the reason :
a. There’re problems that occur in the old system. In example :
1) System’s amiss.
Could be in the form of on purposed fraud or coincedental mistake that makes the inconsistency on the data.
2) Organizational growth.
The necessity to build a new system by organizational growth was because the need of information is going wide, the volume of data processing is increasing, and the changes of new accountant fundamental.
b. To achieve opportunities.
On competing trade, information rate or time efficiency determines the succesive of the strategy that had been planned to achieve the opportunities. So we need to gain advantage of this matter to make the opportunities come to our company, not to the others.
c. The existence of directives.
A new system can be born of superior level order or external organization factor. In example, a government regulation.

2. What is the purpose or goal of developing an information system?
Because of the presence of the problems, opportunities, and the directives, so a new system needs to be developed in order to solve those problems. That is to resolve the problems, to gain the opportunities, and to fill in the directives.

3. What are the organizations expectations after implementing an information system?
On implementing the new system, we expect to gain enhancement in this new system. This new enhancement related to this PIECES :
a. Performance.
Performance can be measured by throughput dan response time. Where throughput means the total amount of work that can be done on one certain time, and response time means an average of delayed time between two transactions or work plus response period to respond that work.
b. Information.
An increasing of information quality.
c. Economy.
An increasing in advantages or benefits or decreasing in cost.
d. Control.
An increasing in control to detect and fix the failure or deception that would happen.
e. Efficiency.
Efficiency here related with how the resource being used with a minimum waste. Efficiency can be measured from output divided with the input.
f. Services.
An increasing of services that was given by the system.
4. What are the principles of developing an information system?
a. The system that was developed is for a managements usage.
Because the one who will use the system is in management level, so the new system must support the requirement of the management level itself.
b. The system that was developed is a big investment asset.
In investing asset, we must consider :
1) All available alternatives must be investigate.
If all other available alternatives were to be ignored and we had invested the fund to certain project, so the investor here had lose the opportunities to invest the fund to other investment. Therefore, from some available investment alternatives, all must be investigated to specify the best alternatives or the most prosperous one.
2) The best investment here must be valuable.
This investment can be said prosperous if it is valuable, which means the benefit or the revenue is bigger than the cost to get them. Where the cost benefit analysis or cost effectiveness analysis can be used to determine whether the investment project is valuable or not.
c. The system that was developed needs educated people.
Peoples that was involved in development as well as in application of the system, must be educated about the problems that exist and educated with solution-solution that it should take. And educated here, doesn’t mean to be a formally colleger, but also can be done with on-the-job-training.
d. Working phase and assignments that have to be done in system development process.
Before doing the system development process, earlier we need to make a working schedule that shows the working phase and assignments that shall be done, so that the system development process could be done and completed succesfully due to the time given and planned budget.
e. System development process mustn’t be in sequence.
Working phase from system development process represents the actions that needs to be done and this actions mustn’t be in sequence, but could be done all together.
f. Don’t be afraid to cancel a project.
For some case where a project must be cancelled because it was not worthy to continue, so the decision must be taken clear. Hesitation to keep going on the project that was unworthy to continue because of the invested funds so far on the project, will just make another waste of the investment itself.
g. Documentation is a must to be the guidance in developing system.
Many system analysts fail to make a documentation. They usually make this documentation after the development of the system or even there’re some that don’t make it. This problem must be revised. So for other system analyst, we suggest to make the documentation all together with the ongoing process of developing system. Because this documentation can be produced from the working output in every steps on system development.

5. System development life cycle.
a. Waterfall Model














This life cycle model take the form of the waterfall, because it goes only one way, like a waterfall that goes only from the top to the bottom. This model also called a sequential model or a sequential linear model. Like what we can see from the upper picture, this model goes one way as sequence from the Requirements phase, to the Design phase, then Implementation phase, Verification phase, and Maintenance phase.
So the process only goes once, as for at the requirements phase we gather all the specification and the requirements of the system, and then we start to make a sketch of design that later will be the systems design at the Design phase, and then implementing all of the planning before like the design, the systems spec and req, and so on. Or on the other hand we executes all the planning here on the Implementation phase. And then at the Verification phase we test all the thing that we have implemented before and make sure that the system runs smoothly and have no problems. After that, we only have one last phase that is Maintenance phase. In this phase, we maintenance the system that means, if there’re any problems regarding the systems, we fix it here. And keep balancing of the process of the systems.
b. Iterative Model










At iterative model, it actually resembles the waterfall model or sequential model. The phases here don’t differ very much. It only different in iterative processes only. This model has a corrective looping phase that is useful to correct failure in the systems. In the picture, it shows on the looping phase between : Planning, Requirements, Analysis & Designs, Implementation, Testing, and Evaluation. These phases show looping condition that means if there’re failure when implementation phase, we need to tests the system again and check where’s the failure going on, and then evaluates them again to be able make a new plan of system, that has a correction of the failure before. If the system has been recreate again and pass the implementation phase, then the system can be deployed (at Deployment phase).
c. Spiral Model
















This spiral model at first was proposed by Boehm. Spiral model here is an evolutionary model that joins the two characteristics of iterative model with a control process and systematic aspects from the sequential model. This spiral model splits some activity framework, that also called tasks region, into 6 tasks region. They’re :
1) Customers communication.
Tasks that was needed to develops an effective communication between developer and the customer.
2) Planning.
Tasks that was needed to defined the resources, accurate time, and other related project information.
3) Risk Analysis.
Tasks that was needed to estimate the risks, either in management or technical.
4) Engineering.
Tasks that was needed to build one or more representation of that application.
5) Construction and Deployment.
Tasks that was needed to construct, testing, installing, and giving services to the customer (i.e. training and documentation).
6) Customer Evaluation.
Tasks that was needed to get a feedback reaction from the customer based on software representation evaluation, that was made during engineering phase, and implemented during installation phase.

6. Approaches in system developments.
There’re 5 approaches here. They’re :
a. Classical approach vs Structural approach
Classical approach develops the system with following the phase in systems life cycle. This approach emphasizes system development could be successful if we follow the phase in systems life cycle. But in fact, this approach doesn’t give an advanced guidance about how to do those phase in detailed. So we need a new approach, and so called the structural approach. This approach tries to provide a system analyst with an addition tools and techniques to develops system besides it still follows the idea from system life cycle.
1) Classical Approach.
Classical approach or so called the conventional approach is an approach that follows the phase in systems life cycle without providing itself with adequate tools and techniques. So there goes the problems in this approach, they’re :
a) Developing software has become difficult.
Classical approach gives a minimal tools and techniques in developing a system, and as the consequences the development of software has become aimless and hard to be done by the programmer.
b) The upkeep cost or systems maintenance becomes expensive.
The most expensive cost of system developments is in the maintenance phase. Why the most cost is in it, because the systems documentation is not perfect and not structured. So that when maintenancing system, it has become troubles.
c) Possibility of the system’s making a mistake is high.
Classical approach doesn’t provide the system analyst the procedures to do a test to the system, so that the possibility of the systems to make mistakes is become higher.
d) The success of the systems becomes less guaranteed.
Classical approach didn’t involved the systems user in developing system, so that the needs of the systems user become less suited with what was hoped for before, and as the consequences the applied systems also becomes unsuccessful.
e) Problem in implementing systems.
Because of the less involvement of the systems user in systems development phase, so the systems user will only know the new applied systems in the implementation part only. That will later make the user becomes frustrated because of the lack to operating the system properly.
2) Structural approach.
With only following the phase in system life cycle, wouldn’t make the information system development becomes success. Therefore we need a system development approach to revised them. So there’re this structural approach. This structural approach was equipped with tools and techniques that was needed in developing system, so that we will get a system with a more good and clear structure for the final output.
b. Piecemeal approach vs System approach
Piecemeal approach is a system development approach that emphasizing on an event or certain application only. In this approach, choosen event or application was developed without paying its attention in information system or without paying attention of the global objectives from the organization, but just paying attention on objective of the event or their application only.
But in system approach, we do pay attention for the information system as one unity that was integrated one another for each event or the application. This approach also paying attention on the global objective of the organization, not only the objective of the information system.
c. Bottom-up approach vs Top-down approach
Bottom-up approach, starts from the lowest level of the organization that is on operational level where the transaction happens. This approach starts from formulation of the necessity to handle the transaction and going up to the upper level with formulating the information needs based on that transaction.
On the other hand, the top-down approach starts from the top level organization, that is on the strategic planning level. This approach starts from defining the objectives and policies of the organization. The next step is to do the information needs analysis. After the information needs being defined, so the process goes down one level to the transaction processing, that is to defined the output, input, database, operational procedures and controls.
d. Total-system approach vs Modular approach.
Total-system approach is an approach that develops the system simultaneously in the mass. Differ from the modular approach, where this approach tries to solve a complex system into some part or simple modul, so that the system will be easier to understand and develop.
e. Great loop approach vs Evolutionary approach.
Great loop approach implements a simultaneous change in the mass using advance technology. Differ from the evolutionary approach where it only implements advance technology for the application that need it at that time only and will keep developing for the next period following the necessity of the evolving technology.

7. Please explain the methodology, method, and algorithm.
Methodology is a unity of methods, procedures, working concepts, rules and postulates that was used by certain knowledges, arts or other disciplines. But the method here is a procedure or systematical technique that was used to doing something. And so the system development methodology is a methods, procedures, working concepts, rules and postulates that was used to develops an information system. So then the procedure sequences to solve this problems was known by “algorithm”.

8. Three classification of system development methodology :
a. Functional decomposition methodologies.
This methodology emphasizing in splitting from system into a more small subsystems, so that it will be easier to understand, designed and applicable. The one that includes in this methodology are :
· HIPO (Hierarchy plus Input-Process-Output)
· Stepwise refinement (SR) atau Iterative stepwise refinement (ISR)
· Information-hiding
b. Data-oriented methodologies.
This methodology emphasizing in the characteristics of the data that will be processed. This methodology can be classified into 2 class, those are :
1) Data-flow oriented methodologies.
This methodology was based on the splitting from the system into moduls that was based from the data element types and logic characteristic of that modul in the system. The one that includes in this methodology are :
· SADT (Structured Analysis and Design Techniques)
· Composite design
· Structured Systems Analysis and Design (SSAD)
2) Data-structure oriented methodologies.
This methodology emphasizing in structure from the input and output in the system, where this structure will later be used as a base structure for the systems. The one that includes in this methodology are :
· JSD (Jakson’s systems development)
· W/O (Warnier/Orr)
c. Presciptive methodologies.
The one that includes in this methodology are :
· ISDOS (Information System Design and Optimization System)
ISDOS is a software that was developed in the University of Michigan, where its function is to automated the process of information system development.
· PLEXSYS
The function of PLEXSYS is for transforming a high level language statement into an executable code for a configuration of the desired hardware. PLEXSYS is a complement for ISDOS, where ISDOS was used in determining needs, and PLEXSYS was used in producing the program code automatically.
· PRIDE
PRIDE was offered by a company in America, by M.Bryce & Associates. PRIDE is an integrated software good for designing / analizing system structure, data management, project management and documentation.
· SDM / 70
SDM (System Development Methodology / 70) was developed and sold in the market by a company in America, by Atlantic Software, Inc. SDM / 70 is a software that contains a collection of methods, estimations, documentations and administrative reference to help the user to develops and maintenancing system effectively.
· SPECTRUM
SPECTRUM is a system developmenty methodology that was developed and sold in the market by an American company named SII (Spectrum International Inc.). This software has some version for different needs, like SPECTRUM-1 (for conventional life cycle), SPECTRUM-2 (for structured project management system) and SPECTRUM-3 (for online interactive estimator).
· SRES and SREM
SRES (Software Requirement Engineering System) was developed by TRW for SDS (Software Development System) from US Airforce. In SRES, the user needs was defined in RSL (Requirement Statement Language). And the methodology that was based on this software is called SREM (Software Requirement Engineering Methodology). This software has some identic concepts with ISDOS.
· Some other prescriptive methodologies :
- Chapin’s approach
- DBO (Design By Objective)
- PAD (Program Analysis Diagram)
- HOS (Higher Order Software)
- MSR (Meta Stepwise Refinement)
- PDL (Program Design Language)

9. Tools for Developing Systems are :
- Graphical tools :
a. HIPO Diagram, used in HIPO Methodology and in other methodology.
b. Data Flow Diagram, used in Structured Systems Analysis and Design methodology.
c. Structured Chart, used in Structured Systems Analysis and Design methodology.
d. SADT Diagram, used in SADT methodology.
e. Warnier / Orr Diagram, used in Warnier / Orr methodology.
f. Jakson’s Diagram, used in Jackson System Development methodology.
- Other useful tools are charts, which can be used in almost all other methodologies. These charts are :
a. Charts for explaining activity (Activity Charting) :
1) Systems Flowchart
2) Programs Flowchart, can be in form of :
a) Program Logic Flowchart
b) Detailed Computer Program Flowchart
3) Paperwork Flowchart or Form Flowchart
4) Database Relationship Flowchart
5) Process Flowchart
6) Gantt Chart
b. Charts for explaining layout (Layout Charting)
c. Charts for explaining personal relationship (Personal Relationship Charting) :
1) Working Distribution Chart
2) Organization Chart

10. Techniques used in developing a system :
a. Project Management Technique, that is CPM (Critical Path Method) and PERT (Program Evaluation and Review Technique). These techniques was used for scheduling project.
b. Fact Finding Techniques, that is a technique to gather data and finding facts in the event to study the existing system. Some of these techniques are :
1) Interview
2) Observation
3) Questionaires
4) Sampling
c. Cost Effectiveness Analysis or Cost benefit Analysis
d. Technique for performing meeting
e. Technique for inspection / walkthrough

11. System Analyst is a person whose job is to analize the system (learn the possible problems that might occur and determine the necessity of the systems user) to identify the reasoned solution possible. The one who understand well about the business aspects of the systems are the systems user itself. So system analyst is the right people to develops information system based on the needs that user wants, while the programmer develops the program application.
The programmer on the contrary with systems user, has more understanding in computer technology, but has less understanding in business aspects and requirement that was needed by systems user. Because of that, we need system analyst to bridge the gap between programmer and systems user. Because he / she, has a great understanding for the two aspects, that is the computer technology aspects to be able to communicate with programmer, and the business aspects to understands what systems user wants.
Knowledge and skills that was needed by most analyst system :
a. Knowledge and skills about data processing technique, computer technology, and computer programming.
- Technical skill that has to be owned includes the skills in using tools and technique for developing application software and skills in using computers.
- Technical knowledge that has to be owned includes the knowledge of computer hardware, data communication technology, computer languages, operation system, utilities and other softwares.
b. Knowledge about business in general.
This knowledge must be owned because nowadays business application is the most application applied. So the knowledge about business is also needed here. This business knowledge includes finance accounting, money accounting, management accounting, management control system, production marketing, personnel management, finance, organization behaviour, company policies, and other business aspects.
c. Knowledge about quantitative method.
Quantitative method that generally needs are : linear programming, dynamic programming, regression, network, decision tree, trend, simulation, and so on.
d. Solving problems skills.
System analyst must have skills to splits complex problems into small subproblems, analyze them, and then unite them again to be a system that can solve the previous problems.
e. Communication skills inter-personnel.
System analysts must have skills to establish communication verbally or in written. These skills was needed in interview, presentation, meeting, and making documentation.
f. Skills to build relationships between personnels.
This skill was needed by system analyst because system analyst need to establish a good relationship between the personnel, in order to avoid a floppy relationships that can cause the job becomes ineffective.

Jumat, 20 Februari 2009

Summary Of Monday 16th Feb 09

What Is A System ?

A System can be defined in two viewpoints, that is in procedural approach and component/element approach. System in procedural approach is a working network from interconnected procedures which used to achieve particular objective. Where, procedure is an appropriate sequence of instruction phase that represent what has to be done, who done it, when it‘s getting done, and how it’s being done.

While, system from the component/element viewpoint, is a group of element-element that interacted each other in order to accomplish certain goal. Where the difference of goal and objective is that goal aims in a longer period, differ from the objective that often just aims in a short period.

Characteristic Of A System
• Components
The components here, interacted each other to form one entity. The example is the Supra System.
• Boundary
Boundary here, means to limit system with other system / its external environment.
• Environments
Anything outside the bound of the system that can affect the operation of the system.
• Interface
Become a link media between one sub system to another.
• Input
Energy that was entered into a system can be in the form of handling input or signal input.
• Output
The result from processed energy that was classified become useful output and leftover.
• Process
Make output from the input.
• Objective / Goal
If it doesn’t have a goal then the operation of the system has no meaning. A system can be success if it has reach its objective / goal.

System Classification
Definition 1 :
• Abstract System means one system can be a speculation / idea. Ex : Religion System, Custom System.
• While Physical System means a system that exist physically. Ex : Computer System, Accountant System, Production System, etc.
Definition 2 :
• Natural System means a system that was born through natural process. Ex : Earth Rotation System, Gravitation System, etc.
• While Artificial System means a system that involve the human being with machinery. Ex : Computer System, Information System, etc.
Definiton 3 :
• Spesific System means a system that operates with a predictable behaviour in the future. Ex : Computer System, etc.
• While Unspesific System means a system that its future condition is unpredictable. Ex : Product Selling System, etc.
Definition 4 :
• Closed System means a system that has no relation and influence on external environment.
• While Opened System means a system that has a relation and influence on external environment.

What Is An Information ?
Information is a data that was processed into a more useful form and have a better meaning for person who receive it.

Information Life Cycle
It begins with there’s input (in form of a data) to be processed (also with the database). Then the process’ makes an output (in form of an information). Where the output reach the user who needs it. And the user makes a decision to it. Which the decision makes a result action. And the result of course leads to make another data. So this data, can be used again to become input of another process.

Information Quality
• Accurate
Means the information must be clear from any mistakes and not be deluded.
• On Time
Means information that arrives mustn’t be overdue.
• Relevant
Means information must have advantage for its usage.

And the Information Value determined from two matters, that is the benefit and the cost to obtain them. Information can be more valuable if the benefit outpoints the expenses.