Presentation is loading. Please wait.

Presentation is loading. Please wait.

Overview of the Systems Analysis and Design cycle Description of the stages of the systems analysis and design life cycle as applied to the development.

Similar presentations


Presentation on theme: "Overview of the Systems Analysis and Design cycle Description of the stages of the systems analysis and design life cycle as applied to the development."— Presentation transcript:

1 Overview of the Systems Analysis and Design cycle Description of the stages of the systems analysis and design life cycle as applied to the development of complex information systems:Description of the stages of the systems analysis and design life cycle as applied to the development of complex information systems: –analysis (including investigation), –design, –implementation (including documentation and evaluation), –testing, –maintenance. Explanation of the iterative nature of the cycle.Explanation of the iterative nature of the cycle.

2 Pre - Analysis Before ADITDEM, there are tasks to be carried out by both consultants and client:Before ADITDEM, there are tasks to be carried out by both consultants and client: –Project Proposal –Initial Meeting –Feasibility Study –Project Plan

3 Analysis Systems analysis involves the investigation of an existing system to gain a thorough understanding of: – –how it works; – – how effective it is; – – problems with the current system; & – – requirements for the replacement system. Having investigated the current system, the analyst will then produce several models of the system. The final stage of analysis is the production of the System Specification that identifies all requirements of the new system.

4 Design Design is the process of specifying the new system. The design describes the tasks to be carried out and the data to be input, output and stored on files. Initially, a logical design is produced, specifying the functions to be performed by the new system. Having completed the logical design, a physical design is produced. This gives precise details of hardware, software, file formats, etc. During the design stage, the screen layout and user interface is also specified. This involves planning how the system will look and how users will interact with it.

5 Implementation Once the current system has been fully analyzed and the new system has be carefully designed, the current system is replaced with the new system. This takes place during implementation. Implementation includes creation of new files, conversion of existing ones and the changeover to the new system. During implementation, hardware is set up, users are trained and documentation is produced. Implementation is the process of putting the new system into use. Once a system has been implemented and in full operation, it is examined to see if it has met the objectives set out in the system specification. This is the Post Implementation Review or Evaluation of the system.

6 Evaluation Evaluation is carried out to identify any need for future maintenance; to identify any ways in which the system fails to meet its objectives; to evaluate the success of the development.

7 Testing There are two types of testing; – –Systems testing and acceptance testing. Systems testing is carried out in-house by developers to make sure that the system meets its requirements/objectives whereas acceptance testing is carried out by the client to make sure the system meets their needs. Before testing is carried out, a test plan must be produced. This is usually produced before implementation. The test plan will indicate the special test data values that will be used to test the system and the types of testing that will be carried out.

8 Maintenance Once a system has been fully developed, it is released by the developers. The system is now fully operational. Over time, there may a need to make changes to the system for various reasons. Any changes that are required to an existing computerized information system will require maintenance to be carried out.

9 Explanation of the iterative nature of the cycle. The stages of systems development are often described as being iterative in nature. – –This means that each of the stages of development may need to be revisited and revised again and again in order to develop, maintain and adapt a system that continually meets the needs of its users. – –Earlier stages in the development may need to be revisited in order to rectify errors, add additional features or even adapt the system to take account of changes in the organisation. It is always possible to backtrack to earlier stages and that stages can be repeated as often as required until all objectives of the system have been met.

10 The techniques involved in systems analysis Explanation of a feasibility study:Explanation of a feasibility study: –economic, –legal, –technical, –time. Description and exemplification of project planning:Description and exemplification of project planning: –importance of plan, –elements in plan (including time, resources, and costs), –application and monitoring of plan. Identification and explanation of investigative techniques:Identification and explanation of investigative techniques: –observation, –document sampling, –questionnaires, –interviewing.

11 Explanation of a feasibility study Once presented with a project proposal, the project leader will carry out a feasibility study. The feasibility study must look at the project in sufficient depth to be able to provide information that: – –either shows that the development of the new system is cost-effective, – –or shows why the project should not continue.

12 Explanation of a feasibility study The feasibility study should be conducted relatively cheaply and within a fairly short time frame. There are no legal or contractual requirements at this stage. The findings of the feasibility study are presented to the client in the form of a report. This report indicates costs, benefits, alternatives and appropriate recommendations.

13 Explanation of a feasibility study There are four aspects of feasibility that must be considered in any feasibility study: – – economic feasibility; – – legal feasibility; – – technical feasibility; & – – time feasibility.

14 Economic Feasibility This deals with the costs involved in the development of the project. The client will want to know the cost of each option and what they get for their money. A system is only economically feasible if the benefits of the development outweigh the costs. For this reason a cost benefit analysis is carried out. The cost-benefit analysis will identify: – –the costs involved in the development; – –the benefits that will result from the development; & – –the break-even point when the new system stops costing money and starts making money

15 Legal Feasibility This considers the legal issues associated with the development of a new information system. Particular notice must be given to the legislation outlined in: – –Data Protection Act (1998) Will the new system contain details of living persons? – –Computer Misuse Act (1990) The potential for hacking and planting viruses must be considered. – –Copyright, Design and Patents Act (1988) The issue of software licensing is important.

16 Technical Feasibility The technical feasibility study must identify the technologies that will be necessary for the proposed system to function correctly. Once identified, the technical feasibility then considers whether or not the technologies necessary are currently available. – –If the required technologies are available, the technical feasibility must determine whether or not the client already has the necessary resources. If not, the resources that must be acquired are identified and suitable hardware and software recommended.

17 Schedule/Time Feasibility The time necessary to develop a new information system is considerable. For this reason, the time feasibility must consider not only the time needed to carry out the development but how this will affect the client. Time feasibility must take account of: – –overall development time for the project; – –events during the year that the business is already committed to; – –when best to install the new system; – –when is the best time to train users how to use the new system; & – –when will the new system be ready for use/delivery.

18 Description and exemplification of project planning Importance of Project Planning – –Project planning involves dividing the project into smaller tasks that are allocated to teams. The project leader must use the available resources in the best possible way to get the job completed successfully and on time. – –Project management software will organise the project into smaller tasks and then schedule these tasks. The schedule can be displayed as a Gantt Chart or a PERT Diagram. As the project progresses and jobs are completed or delayed, the charts can be updated to show the current position. – –In this way, the progress of a project can be monitored regularly.

19 Description and exemplification of project planning Elements in a Project Plan – –A project plan must show: the individual tasks that must be carried out the time required for each task the sequencing of the tasks to be carried out the resources needed for each task the costs involved in carrying out each task – –Typically, project planning methods show the tasks that must be carried out, the time required for each task and the sequencing of the tasks but they can both be used to show the resources needed for each task and costs involved.

20 Description and exemplification of project planning A Gantt chart is a form of bar chart depicting the timings of different tasks. – –It can be used to monitor progress throughout the project by showing which tasks have been completed at a certain date. – –A Gantt chart clearly shows the start date and finish date of major tasks. – –Deadlines for individual tasks are clear and time demands are easily identifiable.

21 Identification and explanation of investigative techniques ObservationObservation – –Observation involves watching the existing system in use and taking notes on how the system operates and functions. – – Observation often proves useful in gathering information in situations that clients take for granted. The analyst will be able to note the flow of work and the levels of normal and peak workload. – –Problems: One of the problems in using observation as an information gathering technique is that it is extremely time consuming. The analyst must also remember that it can be very difficult to observe users of a system without intruding on the normal work patterns. Most people find it difficult to ignore the fact that they are being observed and, as a result, find it difficult to carry on as normal.

22 Identification and explanation of investigative techniques Document SamplingDocument Sampling – –Documents are very important because they represent the flow of information within in the existing system. Each document will have its own cycle of creation, amendment, use and deletion. – –The sampling of company documents will lead to the discovery of details such as: the source of each data item the meaning, size and format of each data item the use made of each data item –Problems Documents missingDocuments missing

23 Identification and explanation of investigative techniques InterviewsInterviews – –An interview is planned and has a specific purpose. It consists of asking and answering questions and has a feedback mechanism. Interviewing is also the most common fact finding method and has to be conducted with the full co-operation of all employees. – –Problems People being absent can make this process time- consuming.

24 Identification and explanation of investigative techniques QuestionnairesQuestionnaires – –A questionnaire is a document that contains a set of pre- printed questions that have been carefully designed to measure a particular aspect of the existing system. – –Questionnaires are issued to several users of the existing system. – –Unfortunately, questionnaires have several drawbacks: they often have low response rates the lack of contact with the analyst may mean that questions are misinterpreted there is no opportunity for the analyst to observe users at work

25 The techniques involved in systems analysis Description of results from investigation, including:Description of results from investigation, including: –background information, –departmental objectives, –description of components in existing system, –organisation procedures. Description and exemplification of systems specification based on results of investigation and modelling:Description and exemplification of systems specification based on results of investigation and modelling: –functional requirements, –restrictions on development.

26 Description of results from investigation As a result of gathering information about the existing information system, the analyst should now be able to: – –provide background information about the system; – –describe departmental objectives; – –describe all components in the existing system; & – –describe procedures within the organisation.

27 Description and exemplification of systems specification Once the analyst documented the existing system and presented his/her findings to the client. Having reached agreement with the client about the details of the existing system, the analyst can then start to prepare the System Specification. The System Specification is based on the findings from the investigation and modelling techniques used to confirm facts. Essentially, the System Specification is a document that outlines: – –the functional requirements of the replacement system – –any restrictions on the development of the replacement system.The System Specification describes all processes to be carried out by the replacement system. It will state the data elements that are necessary in the system and their storage requirements..

28 Description and exemplification of systems specification The System Specification will describe the outputs that the system is required to produce and identify any constraints placed on the system - for example, the new system may have to be compatible with other systems and files already existing in the business. The analyst again will make use of modelling tools to prepare the System Specification. These will enable him/her to describe what the proposed system should do without having to specify how the processes should be implemented.

29 Modelling Techniques - Normalisation Description and exemplification of normalisation.Description and exemplification of normalisation. Creation of un-normalised form (UNF) from complex source document(s).Creation of un-normalised form (UNF) from complex source document(s). First normal form:First normal form: –identifying repeating groups, dealing with repeating groups, problems with first normal form (1NF). Second normal form:Second normal form: –functional dependency, problems with second normal form (2NF). Third normal form:Third normal form: –transitive dependency.

30 Normalisation Normalisation aims to remove data redundancy by applying rules in a series of stages, splitting tables within the existing database system and creating relationships between them to ensure that the structure of the database is efficient and data can be accurately manipulated. The structure produced by the normalisation process will be efficient and allow data to be easily updated and maintained. The structure will contain a number of related tables. Each table will have a number of properties: – –The order of the rows in not significant. The rows do not have to be in any particular order and the order may be changed without loss of information. – –The order of the columns is not significant. The columns of a table may be interchanged without loss of information. – –Each row/column intersection contains only one value. – –Each row of the table must be capable of being uniquely identified by a single attribute or a combination of attributes. This attribute or combination of attributes is referred to as the primary key. The primary key cannot contain a null value. – –Each table is linked to at least one other table in the system. The attribute used to link one table to another is called the foreign key.

31 Normalisation Normalisation is a complex mathematical process. To fully understand it, you must first understand the terms repeating group and functional dependency. A repeating group is defined to be a set of two or more multi-valued attributes. For example: – –a single book title may have several authors – –a single pupil may sit exams in several different subjects A functional dependency occurs when one attribute - or combination of attributes - in a relation uniquely determines another attribute.

32 Normalisation When carried out correctly, the normalisation process identifies an efficient structure for the entities in the database system. Normalisation ensures that: – –all redundant data has been removed from the entities This means that all duplicated values have been removed and the database system will require less memory. As a result, any processing carried out on the data will be more efficient. – –all data anomalies have been removed This means that whenever the data is to be updated, it only needs to be updated once. New details can be added to and deleted from individual tables without affecting details held in other tables. This ensures that the data is easy to maintain. All entities created as a result of applying the normalisation process are said to demonstrate entity integrity. Foreign keys are used to relate one entity to another. Whenever this happens, the normalised data must demonstrate referential integrity

33 Working example – car rental client_nbrclient_nbr client_nameclient_name client_addressclient_address client_telephoneclient_telephone client_faxclient_fax contact_personcontact_person shipment_nbrshipment_nbr insurance_refinsurance_ref fromfrom toto datedate timetime van_regvan_reg modelmodel makemake capacitycapacity fuel_typefuel_type rental_costrental_cost Look through the list and identify any potential primary keysLook through the list and identify any potential primary keys –client_nbr –shipment_nbr –insurance_ref –van_reg Sometimes when the list comes from more than 1 source document there will be repeating attributes. If there are any they must be removed!Sometimes when the list comes from more than 1 source document there will be repeating attributes. If there are any they must be removed! Choose 1 PK and turn into UNF.Choose 1 PK and turn into UNF.

34 UNF The most important step in creating UNF is analysing the source document or documents (there may be more than one) in order to determine the attributes that are held in the system. If there is more than one source document, it is best to deal with each document separately. Once the attributes in each document have been fully normalised, any links between the sets of normalised tables can be easily identified. This process of linking sets of normalised entities to create a single normalised system is called consolidation. Creating UNF for a single document – –analyse the details held on the source document carefully – –write down a single list of all attributes that appear in the source document – –identify any attributes that can be calculated using other values in the system – –identify the primary key of the un-normalised attributes by underlining it – –identify any repeating groups of data – –name each UNF entity

35 Working example – car rental CLIENT(client_nbrCLIENT(client_nbr client_nameclient_name client_addressclient_address client_telephoneclient_telephone client_faxclient_fax contact_personcontact_person shipment_nbr shipment_nbr insurance_ref insurance_ref from from to to date date time time van_reg van_reg model model make make capacity capacity fuel_type fuel_type rental_cost) rental_cost) This is unnormalised form (UNF).This is unnormalised form (UNF). We have selected our first Entity – client.We have selected our first Entity – client. We can see the attributes that will belong to client and the attributes that would be repeating because they belong in other entities. E.g the client may have more than 1 van take a shipment to them, the client may have more than 1 shipment. These are repeating values.We can see the attributes that will belong to client and the attributes that would be repeating because they belong in other entities. E.g the client may have more than 1 van take a shipment to them, the client may have more than 1 shipment. These are repeating values.

36 1NF The most important step in creating 1NF is the removal of repeating groups of data. By removing repeating groups of data to form separate entities, we reduce data duplication and therefore make the database more efficient. We also remove any values that can be calculated since this again reduces the storage that is necessary and improves the efficiency of the database.

37 1NF Creating 1NF from UNF – –Write out list of attributes in main entity leaving behind any repeating group(s). Also leave out any attributes that can be calculated. – –Create a separate list of attributes for each repeating group. If one set of attributes repeats inside another set, take the outer set of repeating attributes out from the main entity before removing the inner set of repeating attributes. – –Identify a primary key of each new entity by underlining it. – –Copy the primary key of any outer repeating group into the inner repeating group and asterisk it to indicate that this is the foreign key link to the outer repeating group. – –Take a copy of the primary key of the main entity into each new entity and asterisk it to indicate that it is also a foreign key. – –Decide whether or not this foreign key is needed to form a unique value for the primary key of each new entity. – –Name each 1NF entity.

38 Working example – car rental CLIENT(client_nbrCLIENT(client_nbr client_nameclient_nameclient_addressclient_telephone client_faxclient_fax contact_person)contact_person) REMOVAL(REMOVAL( shipment_nbrshipment_nbr insurance_refinsurance_ref fromfrom toto datedate van_regvan_reg modelmodel makemake capacitycapacity fuel_typefuel_type rental_costrental_cost *client_nbr) To choose the primary key of removal ask the question – Is there an attribute that is unique for each client? The answer is yes – shipment_nbr. So this is our PK.To choose the primary key of removal ask the question – Is there an attribute that is unique for each client? The answer is yes – shipment_nbr. So this is our PK. A foreign key must be added to the removal so that a relationship can be created so we add client_nbr as a foreign key.A foreign key must be added to the removal so that a relationship can be created so we add client_nbr as a foreign key. This is 1 st Normal Form (1NF).This is 1 st Normal Form (1NF).

39 2NF The most important step in creating 2NF is the removal of non-key attributes that only depend on part of the primary key. This means that 2NF is only of concern when the primary key of an entity is a compound primary key - in other words, it is composed of two or more attributes. Where the primary key is a single attribute, the entity is already in second normal form. Attributes that depend on part of the primary key are said to have a partial dependency on the primary key. The aim of 2NF is to create entities where every non-key attribute is fully dependent on the primary key of the entity.

40 2NF Creating 2NF from 1NF – –Copy out any entities with a single primary key. These entities are already in 2NF – –In entities with a compound primary key, identify any attributes that depend on part of the compound primary. – –Write out the attributes in the entity with the compound primary key, leaving behind any attributes that have a partial dependency. – –Mark the part of the primary key that the caused the partial dependency with an asterisk. This is a foreign key link to the new entity you are about to create. – –Create a new entity by copying the part of the compound primary key that is responsible for the partial dependency. This becomes the primary key of the new entity. – –Add the non-key attributes that have a partial dependency to the new entity. – –Name each 2NF entity.

41 Working example – car rental CLIENT(client_nbrCLIENT(client_nbr client_nameclient_nameclient_addressclient_telephone client_faxclient_faxcontact_person) Shipment(shipment_nbrShipment(shipment_nbrinsurance_ref) Removal (*shipment_nbrRemoval (*shipment_nbrfromtodatetimevan_regmodel makemakecapacityfuel_typerental_cost *client_nbr) Client is in 2NF because the attributes all rely on client_nbr and no other key.Client is in 2NF because the attributes all rely on client_nbr and no other key. Next we look at the attributes in removal:Next we look at the attributes in removal: –According to Removal we have a compound key (made up of >1 PK). –Is there any attribute(s) in removal that does not use the compound key only 1 of the keys (either the PK or FK)? Yes insurance_ref. We do not need to know the client_nbr to get the insurance_ref we only need the shipment_nbr. So we give shipment_nbr and insurance_ref its’ own entity.So we give shipment_nbr and insurance_ref its’ own entity. This is 2NF.This is 2NF.

42 3NF The most important step in creating 3NF is the removal of non-key attributes that depend on other non-key attributes. Non-key attributes that depend on other non-key attributes are said to have transitive dependency. Creating 3NF from 2NF – –Write out a list of all attributes in any entities that have one or less non-key attributes. These are already in 3NF. – –Examine other entities carefully in order to identify transitive dependencies. – –Write out the attributes in any entity found to have a transitive dependency, leaving behind any non-key attributes that have a transitive dependency. – –Mark the non-key attribute that is responsible for the transitive dependency with an asterisk to indicate a foreign key. – –Copy this attribute and create new entity. Underline the attribute to indicate that the attribute is the primary key. – –Add the non-attributes involved in the transitive dependency into this new entity. – –Name each 3NF entity.

43 Working example – car rental CLIENT(client_nbrCLIENT(client_nbr client_nameclient_nameclient_addressclient_telephoneclient_faxcontact_person) Shipment(shipment_nbrShipment(shipment_nbrinsurance_ref) Removal (*shipment_nbrRemoval (*shipment_nbrfromto datedate timetime *van_reg*van_reg *client_nbr) VAN (van_regVAN (van_reg modelmodel makemake capacitycapacity fuel_typefuel_type rental_cost)rental_cost) A relation is in 3NF if all the columns depend on the primary key and not on any other column:A relation is in 3NF if all the columns depend on the primary key and not on any other column: –Client is in 3NF –Shipment is in 3NF –Removal is not because the details of a van are repeated everytime the van is used for removal but from, to, date and time are a history and depend on the client and shipment. –The details for van rely on the van_reg, not on shipment_nbr and client_nbr. So the entity VAN is created and the van attributes stored here. –Still one problem we need to know which van is used for which removal so van_reg is in removal as a FK. This is 3NF.This is 3NF.

44 Description and exemplification of entity-relationship modelling. Translation of third normal form (3NF) into E/R diagrams:Translation of third normal form (3NF) into E/R diagrams: –entities (weak entity, strong entity), –relationships (mandatory, optional, strong/weak). Description and exemplification use of a Data Dictionary.Description and exemplification use of a Data Dictionary. Description and exemplification of entity/event modelling.Description and exemplification of entity/event modelling. Entity/Event Matrix:Entity/Event Matrix: –add, –modify, –delete, –read.

45 Translation of third normal form (3NF) into E/R diagrams Entity Relationship Diagrams (or ERD) are used to illustrate the logical structure of a database system. An ERD is a graphical representation of the entities within the database system and shows how individual entities are related to other entities in the system. Benefits of using an ERD to represent the structure of the database system include: – –It is non-technical and can be easily understood by non- experts. This is important since the analyst must confirm that the representation of the system is correct. – –It is unambiguous as there is only one way of interpreting a well-drawn Entity Relationship Diagram.

46 Translation of third normal form (3NF) into E/R diagrams The main components of an Entity Relationship Diagram are: – –Entities An entity is a person, object, place or event about which information is collected. It is equivalent to a database table. An entity can be described by its properties or attributes. For example, a STUDENT entity may have attributes such as surname, address, date of birth. A single entity represents a group of objects with the same properties. Each single object within an entity is called an entity occurrence.

47 Translation of third normal form (3NF) into E/R diagrams The main components of an Entity Relationship Diagram are: – –Entities There are two different types of entity: strong entities and weak entities. – –A strong entity does not rely on another entity for identification. Instead, it has enough attributes of its own to make a unique primary key. – –A weak entity cannot form a unique primary key on its own. Instead, it must make use of the primary key of another entity to form a unique identifier. In other words, a weak entity depends on another entity to exist. The entity that supports a weak entity by providing a foreign key is often referred to as the owner entity. A weak entity cannot stand alone and would not be queried on its own..

48 Translation of third normal form (3NF) into E/R diagrams The main components of an Entity Relationship Diagram are: – –Attributes Attributes are the properties of entities and represent everything that we know about the entity. Attributes can be identifiers of the entity (in other words, forming all or part of the primary key of the entity) or descriptors that describe a non-unique characteristic of an entity occurrence.

49 Translation of third normal form (3NF) into E/R diagrams The main components of an Entity Relationship Diagram are: – –Relationships A relationship represents an associated between two or more entities. Each relationship in a system is given a name that describes its function. The cardinality of a relationship specifies the number of entity occurrences that take part in a particular relationship. Relationship cardinality can be: – –one-to-one (1:1) – –one-to-many (1:M) – many is show with crow’s feet – –many-to-many (M:M) – try not to have any of these!

50 Translation of third normal form (3NF) into E/R diagrams The main components of an Entity Relationship Diagram are: – –Relationship Optionality A relationship in an Entity Relationship Diagram can be either mandatory or optional. If an instance of an entity must always occur for an entity to be included in a relationship, then it is mandatory. An example of mandatory relationship is the statement "every project must be managed by a single department". Shown with a full line. However, if at least one instance of an entity is not required, the relationship is optional. An example of optional relationship is the statement, "employees may be assigned to work on projects". Shown with a dashed line.

51 Translation of third normal form (3NF) into E/R diagrams Barred relationships – –In our ERD we do not show foreign keys. Instead we draw a line through our relationship to show that a primary key will be placed in the other entity as a foreign key. Non-transferability – –We use a diamond on our relationship to show that once a relation is made between our two entities it cannot be transferred. Rules for both – –Always show both of these on our log entities (hidden).

52 Translation of third normal form (3NF) into E/R diagrams Entity Relationship Diagrams can be produced by following the steps listed below: – –Identify all possible entities in the system. Remember that entities are used to store information. – –Identify the attributes in each entity - remember not to include attributes of one entity in another entity. Identify the primary keys of each entity using # - this may not be possible in weak entities (history logs are generally weak entities!) Mandatory attributes have *, and optional attributes o. – –Identify the relationships between entities and define the cardinality and optionality of these relationships. – –Resolve any many-to-many relationships. This may mean that the list of entities and attributes may need to be revised and updated. – –Include barred relationships if a foreign key is within an entity. – –Include your diamonds for non-transferability.

53 Description and exemplification use of a Data Dictionary. A data dictionary is a catalogue of all data items in a system. The data dictionary stores details and descriptions of all of data items. The data dictionary is usually developed after normalisation has been carried out and helps the analyst in determining system requirements. A data dictionary is used to fully describe all data items that are held in a system.

54 Description and exemplification use of a Data Dictionary. The ERD does not give any indication of the type or size of each attribute nor does it show the restrictions that apply to an attribute or where else in the system the attribute is being used. These details are held in a properly developed data dictionary. The details of each data time that must be included in a data dictionary are: – –attribute name – –entity – –type – –size – –validation – –index/key

55 Description and exemplification use of a Data Dictionary. Item Name – –It is good practice to make sure that all item names in a data dictionary are unique. One way to do this is to incorporate the name of the entity within the item name. This ensures that any attributes that have more than one entry in the data dictionary (for example, foreign keys) are easily distinguishable. Data Type – –Common data types indicated in a data dictionary include: number (used to store any value that consists of numbers only) text (used to store any value that is made up of characters or characters combined with number) date (used to store any value that represents a calendar date) time (used to store any value that represents a time of the day) auto (used to indicate that the value is a numeric that the system generates automatically)

56 Description and exemplification use of a Data Dictionary. Data Size – –The size of a data item refers to the maximum number of characters that will be allowable. This only needs to be considered when the data type is text. – –It is important to consider the size of each data item since the default set by most development tools are often far larger than the sizes necessary. By setting an appropriate maximum size, the analyst is reducing the amount of wasted memory that the system will use when implemented. – –When a data item requires no more than characters, it is extremely inefficient to allow the database software to set a default size of, say 50.

57 Description and exemplification use of a Data Dictionary. Foreign Keys – –Note that the data type and size of any foreign keys must match the type and size set for the original primary value. In particular, if a foreign key has a primary value that has been set as an auto value, then the foreign key type must be set as number.

58 Description and exemplification use of a Data Dictionary. Validation – –The validation columns of the data dictionary should indicate any restrictions that should be applied to the data item when values are being entered into the system. – –Validation checks automatically check any input values to make sure that they are sensible. Common validation checks that are indicated in a data dictionary include: presence check – can a null value be used range check - values entered are within certain pre-defined upper and lower limits restricted choice -only certain values can be entered lookup - existing (primary) value of any foreign key data item

59 Description and exemplification use of a Data Dictionary. Index and Key – –The Index/Key column of the data dictionary is used to indicate whether or not the data item is to be indexed and if it is to be indexed, whether or not the data item is a primary key or a foreign key. – –Indexing Database systems take advantage of indexing to increase their speed. A database index can speed up a query by hundreds or thousands of times. Indexing is the notion of storing data on a hard disk in a particular way in order to locate and retrieve the data as efficiently as possible. – –Keys When a data item is marked as indexed, the analyst must indicate if indexing is due to the fact that the data item is a primary key (PK) or if it is because the data item is a foreign key (FK). Where a foreign key is part of a primary key, both of these facts should be indicated in the data dictionary.

60 Description and exemplification of entity/event modelling. Index and Key – –The Index/Key column of the data dictionary is used to indicate whether or not the data item is to be indexed and if it is to be indexed, whether or not the data item is a primary key or a foreign key. – –Indexing Database systems take advantage of indexing to increase their speed. A database index can speed up a query by hundreds or thousands of times. Indexing is the notion of storing data on a hard disk in a particular way in order to locate and retrieve the data as efficiently as possible. – –Keys When a data item is marked as indexed, the analyst must indicate if indexing is due to the fact that the data item is a primary key (PK) or if it is because the data item is a foreign key (FK). Where a foreign key is part of a primary key, both of these facts should be indicated in the data dictionary.

61 Description and exemplification of entity/event modelling. There are two types of entity/event modelling: –Entity Event Matrix & –Entity Life History.

62 Description and exemplification of entity/event modelling. Purpose of an Entity Event Matrix – –An Entity Event Matrix is used to record a list of all permissible events that can occur and shows the effect that these events have on the entities within the system. – –In this context, an event is something that triggers a process into updating data within the system. An effect is the change caused by the event such as the creation, deletion or modification of an entity occurrence.

63 Description and exemplification of entity/event modelling. One single Entity Event Matrix is created for the entire system. This matrix lists all entities in the system across the top of the matrix. The events that occur are listed on separate rows of the matrix. Within the matrix, the effect caused by an event is recorded as follows: – –C This is used to indicate that the described event causes a new entity occurrence (or new row of the table) to be created within the entity indicated. – –D This is used to indicate that the described event causes an existing entity occurrence (or existing row of the table) to be deleted from the entity indicated. – –M This is used to indicate that the described event causes existing data values within the entity indicated to be modified. – –R This is used to indicate that the described event causes data values held within the entity indicated to be read by the process that is triggered by the event. Note that read activity is only possible because of the use of foreign keys to link one entity to another. When a data value in an entity is updated, it is possible any entity that has a foreign key link to that entity to see the update - in other words, the linked entity can read the updating that takes place in the main entity. Read activity is also needed to carry out calculations and to produce invoices, statements and reports.

64 Description and exemplification of entity/event modelling. Index and Key – –The Index/Key column of the data dictionary is used to indicate whether or not the data item is to be indexed and if it is to be indexed, whether or not the data item is a primary key or a foreign key. – –Indexing Database systems take advantage of indexing to increase their speed. A database index can speed up a query by hundreds or thousands of times. Indexing is the notion of storing data on a hard disk in a particular way in order to locate and retrieve the data as efficiently as possible. – –Keys When a data item is marked as indexed, the analyst must indicate if indexing is due to the fact that the data item is a primary key (PK) or if it is because the data item is a foreign key (FK). Where a foreign key is part of a primary key, both of these facts should be indicated in the data dictionary.

65 Description and exemplification of entity/event modelling. There are two types of entity/event modelling: –Entity Event Matrix & –Entity Life History.

66 Description and exemplification of entity/event modelling. Purpose of an Entity Event Matrix – –An Entity Event Matrix is used to record a list of all permissible events that can occur and shows the effect that these events have on the entities within the system. – –In this context, an event is something that triggers a process into updating data within the system. An effect is the change caused by the event such as the creation, deletion or modification of an entity occurrence.

67 Description and exemplification of entity/event modelling. One single Entity Event Matrix is created for the entire system. This matrix lists all entities in the system across the top of the matrix. The events that occur are listed on separate rows of the matrix. Within the matrix, the effect caused by an event is recorded as follows: – –C This is used to indicate that the described event causes a new entity occurrence (or new row of the table) to be created within the entity indicated. – –D This is used to indicate that the described event causes an existing entity occurrence (or existing row of the table) to be deleted from the entity indicated. – –M This is used to indicate that the described event causes existing data values within the entity indicated to be modified. – –R This is used to indicate that the described event causes data values held within the entity indicated to be read by the process that is triggered by the event. Note that read activity is only possible because of the use of foreign keys to link one entity to another. When a data value in an entity is updated, it is possible any entity that has a foreign key link to that entity to see the update - in other words, the linked entity can read the updating that takes place in the main entity. Read activity is also needed to carry out calculations and to produce invoices, statements and reports.

68 Description and exemplification of entity/event modelling. Creating an Entity Event Matrix – –To create an Entity Event Matrix for a particular system, the following steps should be followed: Create the headings for the matrix remembering that one column is needed to list the events that can occur and a separate column is needed for each entity. Write down a list of events that can occur in the real world and will trigger a process to be carried out within the system. In carrying out the process, entities within are affected in some way. Work through the events in the list one at a time and consider how each entity will be affected by the event described. Use the symbols C, D, M and R to record the effect of each event on individual entities. Remember that one single event can cause several entities to be altered in some way.

69 Description and exemplification of entity-relationship modelling. Entity Life Histories:Entity Life Histories: –sequence, –iteration, –selection. Description and exemplification of dataflow modelling using level 0 and level 1 data flow diagrams:Description and exemplification of dataflow modelling using level 0 and level 1 data flow diagrams: –system boundary, –environment, –data flow, –physical flow, –data store, –external entity, –process.

70 Entity Life Histories Entity Life Histories:Entity Life Histories: – –An Entity Life History Diagram is used to record the permissible sequence of events that can occur within any one entity. It also indicates which events are repeated and those events that are alternatives. – –Each entity must have a separate Entity Life History Diagram. This means that there may be several Entity Life History Diagrams for any one information system. – –The events shown on an Entity Life History Diagram must match those recorded in the Entity Event Matrix for the system.

71 Entity Life Histories Entity Life Histories:Entity Life Histories: – –Events shown in an Entity Life History (ELH) Diagram are read from left to right. Events on the left of the diagram must occur before those on the right. – –Each branch of an ELH diagram shows a separate category of events. Three different categories of event can be shown in an ELH: creation events modification events deletion events – –Events that cause read activity are not shown in an Entity Life History Diagram. Each level of the diagram shows additional detail of an event or an event category.

72 Entity Life Histories Entity Life Histories:Entity Life Histories: – –To create an Entity Life History Diagrams for a particular system, the following steps should be followed: Create the Entity Event Matrix for the system. Consider each entity within the matrix separately. Draw a box to represent the entity at the top level of the diagram. Look down the column of the Entity Event Matrix that represents the entity and decide which category of events are to be shown on the second level of the ELH. Remember that only 3 categories of events can be shown: Creation, Modification and Deletion. Draw a box for each category present. Complete each branch of the ELH separately. Remember to pay attention to the use made of * to indicate repetition and the use of o to indicate alternative events. Repeat steps 3 - 5 for each entity in the system.

73 Data Flow Diagrams An Introduction to Level 0 and Level 1 DFD’s.

74 What is a DFD? A data flow diagram is a…A data flow diagram is a…

75 What is Level 0 DFD? Level 0 shows the main system and what data or objects are passed to/from external entities.Level 0 shows the main system and what data or objects are passed to/from external entities. –If the system is a whole company, external entities are people who do not work in the company being modelled or other companies. –If the system is a department, external entities are other departments or people who do not work in the dept being modelled.

76 Worked Example

77 Your Turn

78 How to create a Level 0 dfd. Make the following headings in your jotter:Make the following headings in your jotter: –System Name; –External Entities; –Data Flow; & –Physical Flow. Go through the passage and write down any of the above under the headings.Go through the passage and write down any of the above under the headings.

79 Worked Example - System NameSystem Name External EntitiesExternal Entities Data FlowData Flow Physical FlowPhysical Flow Now you do Your turn -

80 Your Turn - System NameSystem Name External EntitiesExternal Entities Data FlowData Flow Physical FlowPhysical Flow Now you do Your turn -

81 How to create a Level 0 dfd. The system name goes in a hard box in the middle of the page.The system name goes in a hard box in the middle of the page.

82 How to create a Level 0 dfd. Each external entity goes in an oval box either to: the left and right if there are two; left, right and bottom if there are three; or left right bottom and above if there are 4.Each external entity goes in an oval box either to: the left and right if there are two; left, right and bottom if there are three; or left right bottom and above if there are 4. Entity 1Entity 2 Entity 3

83 Worked Example Entity 1Entity 3 Now you do Your turn -

84 Your Turn Entity 1Entity 3

85 How to create a Level 0 dfd. Add in data flow:Add in data flow: –use a thin line with an arrow showing the way the data flows. –write the name of the data flow on the line. Add in physical flow:Add in physical flow: –use a thick line with an arrow showing the way the physical flows. –write the name of the physical flow on the line.

86 Worked Example Entity 1Entity 3 Now you do Your turn -

87 Your Turn - Entity 1Entity 3

88 Well Done! That is how you create level 0 DFD’s

89 Tasks Task 1Task 1 Task 2Task 2

90 What is a Level 1 dfd’s A level 1 dfd is a diagramatic form of showing the main processes, data flows and data stores within the system.A level 1 dfd is a diagramatic form of showing the main processes, data flows and data stores within the system.

91 How to create Level 1 dfd’s When creating a level 1 dfd go back and read the description! (VERY IMPORTANT ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !)When creating a level 1 dfd go back and read the description! (VERY IMPORTANT ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !) Write down the following Headings:Write down the following Headings: External EntityExternal Entity ProcessesProcesses Data FlowsData Flows Data StoresData Stores

92 How to create Level 1 dfd’s As you read through the passage (again) write down the relevant information under the headings above.As you read through the passage (again) write down the relevant information under the headings above. This will be used as a check list after creating the dfd.This will be used as a check list after creating the dfd.

93 Worked Example – School Enrolment External EntityExternal Entity StudentStudent ProcessesProcesses Record student applicationRecord student application Check course availabilityCheck course availability Check student qualificationsCheck student qualifications Enrol student in courseEnrol student in course Update application fileUpdate application file

94 Worked Example – School Enrolment Data FlowsData Flows Application formApplication form Course Applied forCourse Applied for Student QualificationsStudent Qualifications Results from course and student checksResults from course and student checks Course and student detailsCourse and student details Confirmation letterConfirmation letter Rejection letterRejection letter Data StoresData Stores Application fileApplication file Course Details FileCourse Details File Enrolment FileEnrolment File Your turn – order processing

95 Your Turn – Order Processing External EntityExternal Entity CustomerCustomer WarehouseWarehouse ProcessesProcesses Process customer detailsProcess customer details Process order detailsProcess order details Complete picking slipComplete picking slip Process invoice and shipping statementProcess invoice and shipping statement

96 Worked Example – School Enrolment Data FlowsData Flows Customer detailsCustomer details Order detailsOrder details Picking slipPicking slip Order CopyOrder Copy InvoiceInvoice Shipping statementShipping statement Data StoresData Stores Customer File (D)Customer File (D) Orders Folder (M)Orders Folder (M)

97 How to create Level 1 dfd’s Processes are drawn using a Hard Box :Processes are drawn using a Hard Box : Files are drawn as follows:Files are drawn as follows: D1 Data Flow is drawn the same as at level 0.Data Flow is drawn the same as at level 0.

98 How to create Level 1 dfd’s Read each sentence of the description carefully.Read each sentence of the description carefully. As you read the sentence draw that part of the dfd using the key on the previous page.As you read the sentence draw that part of the dfd using the key on the previous page. When you have finished use your checklist to make sure you have included all your processes, files etc.When you have finished use your checklist to make sure you have included all your processes, files etc.

99 Working Example – Student enrolment student application Application Processing D1 Application FileAdd application details Check course Details D2 Course details Course Details Course Details File Check student Qualifications Student details Course Details Enrolment Process Confirmation letter Checking results D3 Enrolment File Student Details D1 Application File Update rejection letter Your turn – order processing

100 Your Turn – Order Processing Customer Order Processing D1 Customer File Add customer details Customer Details orders M1 Order Folder Order details Complete Picking Slip Warehouse Copy of Order Picking Slip Copy of order Picking Slip Create invoice/ Shipping statement Copy of order Invoice Shipping Statement

101 Task – school application Now do the level 1 dfd for school application.Now do the level 1 dfd for school application. Way Hay – Now you can do level 1 dfd’s! Well Done!Way Hay – Now you can do level 1 dfd’s! Well Done!

102 Database Design Description of logical and physical design.Description of logical and physical design. Description of system refinement using modelling techniquesDescription of system refinement using modelling techniques Description of processes using structured English and one graphical design notation.Description of processes using structured English and one graphical design notation. Description and exemplification of screen layout and user interfaces using graphical techniques or rapid application development (RAD) tools.Description and exemplification of screen layout and user interfaces using graphical techniques or rapid application development (RAD) tools.

103 Description of logical and physical design During conceptual design, a model of the information used within the business or organisation is constructed. This model shows the entities and relationships that will exist in the new system. The conceptual design is independent of all physical considerations. The logical design selects a suitable data model for the system and then transforms the conceptual design into the selected data model. The logical design also provides a detailed description of all processes in the system. The logical design is independent of any particular database software and all physical constraints. Having completed the logical design, a physical design is produced. This provides a description of the database implementation in terms of storage devices, file organisation and security features.

104 Description of system refinement using modelling techniques. System Refinement – –In order to design a system that fully meets its specification, the analyst must temporarily forget about how the system might be implemented and concentrate on how best to achieve its objectives. This stage of design is often referred to as conceptual design. – –The conceptual design is built using the information documented in the system specification and therefore must take account of the information and processing requirements identified as a result of the analysis process. – –Conceptual database design identifies entities that are necessary for the new system to function efficiently. The model is developed by defining attributes and relationships between the entities. The model that represents the conceptual design usually consists of an Entity Relationship Diagram (ERD).

105 Description of system refinement using modelling techniques. System Refinement – –It is important to realise that this model of the system differs from the models produced during analysis stage of the development. The analysis phase looks in detail at the current system. All models produced during the analysis represent how things are carried out presently. However, the model produced during the conceptual design stage of the development represent how the new system will work. – –During the conceptual design stage, the analyst produces a model that represents how the new system will work - although this model is based on the earlier ones, it will be different because the new system is being designed to be more efficient that the one it is replacing. – –As the conceptual design is produced, it is continually tested and validated against the users’ requirements. Any modifications are noted and the model is revised accordingly. This process of system refinement is carried out until the conceptual design meets all requirements of the system specification. Once the conceptual design has been completed, the analyst now has a blueprint of what the database system that will be built.

106 Description of processes using structured English and one graphical design notation Structured English – –Structured English uses a restricted subset of the English language that includes action verbs and noun phrases but avoids unnecessary adjectives and adverbs. It can be easily coded and closely resembles a programming language. Since structured English makes use of a reduced vocabulary that is taken from standard English, it can be a useful tool when communicating with clients and users of the system. – –Using structured English to define a process specification involves writing down a solution to a problem in clear, unambiguous style. This style is similar to the structure of a programming language without using the exact syntax of any specific language. – –All structured English has three basic structures: sequence, iteration and selection. – –Indentation is used to indicate the use made of iteration and selection structures.

107 Description of processes using structured English and one graphical design notation Graphical Design Notation – –Structure charts provide a means of breaking down a complex process and illustrating the components of the process diagrammatically. A structure chart will show: the sequence of events or activities any repetition (or iteration) of events any events that provide options (i.e. selection) – –A structure chart is a hierarchical diagram that shows the relationships between the functions and actions that take place within a process. Rectangles are used to show each separate function or action. Lines are used to connect the rectangles and indicate the hierarchy. Each line has a small labelled arrow to show the data that is passed from one function or action to another. Curved arrows below a rectangle are used to indicate iteration and a black diamond is used to indicate that a lower level function or action is conditional. – –The sequence of actions is indicated by reading the structure chart from left to right.

108 Description and exemplification of screen layout and user interfaces using graphical techniques or RAD tools. User Interface – –The purpose the user interface is to provide a front-end to the database system that allows users to interact with it without having to think about the underlying structures. – –Users of a database system want to find the information they need quickly and with a minimal amount of effort. Ideally, a well designed user interface would enable a user to access all features of the system that he/she requires without having to worry about the structures in the system.

109 Description and exemplification of screen layout and user interfaces using graphical techniques or RAD tools. Graphical Techniques – –Using graphical techniquesto describe the design of the user interface involves drawing out every aspect of the proposed user interface to show how it is intended to look. – –Inevitably, some accompanying text will be needed to show how a particular menu or form layout fits into the overall system.

110 Description and exemplification of screen layout and user interfaces using graphical techniques or RAD tools. Rapid Application Design Tools (RAD) – –RAD (Rapid Application Development) is a technique that enables developers to build working systems very quickly. In general, RAD environments provide a number of tools to help build graphical user interfaces that would otherwise take a long and lengthy development effort. – –Using RAD tools, the processes of design and implementation are concurrent. No detailed user interface design documentation is needed. Instead, the user interface is developed in a series of increments. End users evaluate each increment and make proposals for later developments.

111 Description and exemplification of screen layout and user interfaces using graphical techniques or RAD tools. Rapid Application Design Tools (RAD) – –Development of a user interface using RAD relies on extensive user involvement. The early, effective and continued involvement of users in the development process is critical to the success of RAD. The involvement of users is an important factor in the early detection of errors, and in general, the earlier a defect is found, the less time and expense required to correct it. – –Many information systems are designed around a number of forms. Developing these forms manually is an extremely time consuming activity. RAD tools support the development of forms. Scripting languages such as Visual Basic enable developers to create a graphical user interface from a large library of standard components. These components can then be tailored to meet the specific needs of the system by adding code to control what happens when an event (such as a mouse click) occurs.

112 Description and exemplification of screen layout and user interfaces using graphical techniques or RAD tools. The use of RAD tools to design the user interface brings a number of benefits to the development. These include: – –intensive involvement of the end user in the design of the system – –prototyping is used to help users visualise the system and suggest adjustments to it – –the use of a CASE tools means that proven templates and components can be reused – –the use of CASE tools makes it easier to generate bug-free code – –users are involved in the implementation stage, allowing the details to be adjusted if necessary There can, however, be a number of drawbacks: – –it can be difficult to co-ordinate the development of a project that is being produced by a large team of developers – –complex dependencies between different parts of the system can lead to maintenance problems


Download ppt "Overview of the Systems Analysis and Design cycle Description of the stages of the systems analysis and design life cycle as applied to the development."

Similar presentations


Ads by Google