Wednesday, 21 September 2016

Function Of Main Memory

Main memory
o                                    Main memory is an integral part of computer. Main memory is volatile unlike from magnetic tape and disks storage. Volatile means that the data is lost when the system is shut off. Main memory provides a direct access to the stored data similar to the disks storage. The main memory is small in size as compared to other storage devices. The main memory not only store data it has been save application program and system program, but actually the database is not fit in main memory. 
o      The main memory has a portion it is called a buffer. The data that is processed must be brought into the buffer. The buffer contains a copy of the records but actually the records still exists on the disks. The process of accessing records is many time faster in the buffer as compared to the records accessing on the disk. The system must checks the requested record if it is already in the buffer or not. If the buffer have a requested records then simply passes the address in the buffer to the requesting process. If the requested record is not in the buffer then the location of the record on the disks is find and directs the reading of the record into the buffer. The most frequently used data are sometime kept in the buffer whenever the database is in use. The main memory reads more than one record at a time.  

      Cache memory
o                           The small portion of a main memory with very high speed memory chips is called a cache memory. Dynamic random access memory chips are used in main memory mostly. Before reading a data in Dynamic random access memory it always required to be refreshed or regenerated. Static random access memory chip are also used in small portion of the memory. Static random access memory is more expansive and it is faster than random access memory and does not need to be refreshed or regenerated before reading a data. The access time of dynamic random access memory is an 80 to 120 nanosecond, and static random access memory has a 25 to 35 nanosecond. The simple question arises in the mind why cache memory is used???? What is the purpose of cache memory???? A cache memory provides a quick access for this reason processor does not wait for the data which is requested. The system must ensure that data always in cache when required. Cache controllers use statistical procedure to decide which data is kept in cache.



Saturday, 17 September 2016

MAGNETIC TAPE

        Magnetic tape is a nonvolatile just like a disks storage (nonvolatile means that data is not erased from the system when system is turn off). In magnetic tape it is necessary to go through all the data before to reach a specific piece of data that is required. Magnetic tape does not provide a direct access facility for this reason magnetic tape is not suitable for database processing but magnetic tape is mostly used for backup and for storing archival data (the later used data).
For storing a large volume of data the most suitable storage media is magnetic tape, magnetic tape is a cheap and reliable medium for this purpose. The magnetic tape at a very low cost stored a hundred of millions of characters. Some reel holds an 2400 feet of tape and some tape libraries holds a thousand of reels of a tape.
Latest backup tape is used to recreate the database in the case of database disk copy is destroyed. Magnetic tape provides the facility to move data from one place to another place (from one organization to another). The composition of magnetic tape is very simple it is a plastic ribbon with an easily magnetized coating on one side of the disk. The coating material is made of iron oxide or chromium dioxide. The magnetic tape is divided into horizontal and vertical partition. The partition is called a channels (tracks) and frames. Horizontal partition in to a row is called channels or tracks. The vertical partition in to a column is called a frame. The tape drive is needed to load a tape. The tape drive is a device which has a read/write head for each track when tape passes under the heads then entire frame is read automatically. The first few feet at the start for the threading of the tape on the tape drive and last few feet at the end of the tape are left blank.                        
The load point symbol shows the start of the recording on the tape and end-of-reel symbol indicate the last recording on the tape.  Data records on the same tape may be the fixed-length-records or can be the variable-length-records. Inter-record gapes is used to separate the records on the tape. The Inter-records gapes in reality is a blank space between records. The issue of blank spaces is that they slow down the processing of a file because wasting a lot of spaces between many short records. To resolve this issue usually blocks are formed by combining a short record together. These blocks save the spaces that are wasted for separating records from each other on the disks. The numbers of bits per inch of tape determine the data density.

Most Important Keys In Database Management System

               In database system data are store in the table. Table in the database have different rows and columns to manage data properly. Key is an attribute that uniquely identifies a tuple in a table and access a particular entity instance of an entity type. There are different keys used in the database system. A question is raised in our mind why we used keys in the database system? What is the purpose of these keys in a database system? What is the benefit of using keys in the database system?
The answer of the question is very simple:
An entity types have many instances from few to several thousands. When we want to pick a particular instance or single instance out of many instances then key is the solution to do it. When defining a entity type then key is also defined for this entity type. Key is simple (consisting of single attribute) or composite (consisting of two or more attribute).
Detail definition of these keys is necessary to understand the purpose of these keys in the database.  I am trying to explain the definition and example of these keys to explain the purpose of these keys in the database system.
Following are the different major keys in the database system:
1. Super key
2. Candidate key
3. Primary key
4. Alternate key
5. Foreign key
Super key
           Attribute or combination of attribute that uniquely identifies a row in a table is called a super key. For example the relation of a student consist of a different attribute such as registration no, student name, father name, address, phone number, class etc. if we want to see a record of a particular student then what field is used for this purpose? If we use student name for searching a record then this cause a problem because there are many student have a same name such as ahmad, two student have the same name ahmad. In the same way father name, address is not suitable to search a record in a database. Registration no is a unique value that is assign to every student. Particular value of registration number will find a single unique entity instance. Super key with other key is always a super key such as (registration no, student name).
Candidate key
                     Minimal super key is a candidate key. It means that candidate key indentifies an entity instance uniquely and it should be a minimum. Super key that consist of an single attribute, it also a called a candidate key. For example in above example registration no and student name is a super key but it is not a candidate key because it object the second condition. Registration number attribute uniquely identifies an entity instance and does not contain an extra field. So registration key is a candidate key and also a super key.
Primary key
                 The key that is chosen by database designer to uniquely indentifies the entities and accessing a particular record in a database. Important point about primary key are
Primary key does not contain a null value.
Value of primary key must be unique.
A table has only one primary key.
For example registration number attribute in a relation. It can be used as a primary key if a relation has a two field Reg# and ID# then database designer chose one of them as a primary key (ID#).
Alternate key
                  If a relation has a two field Reg# and ID# then database designer chose one of them as a primary key (ID#). The other key that is not chosen as a primary is called an alternate key such as Reg#. Reg# is an alternate key and ID# is a primary key.
Foreign key
               Sometime it can be happen that the primary key of one table is used in another table to link both table with each other. The attribute in a relation whose value match with primary key in another table this attribute is called a foreign key. A relation may contain many foreign keys. The table that contain foreign key is called a child table and the table from which foreign key is refers is called a parent table. The primary key is represented by underlining with a solid line, and foreign key is underlined by dashed or dotted line. Foreign key is zero, one and multiple in a relation it depends on how many tables a particular table is related with.

Incremental Model/Evolutionary Model

          Evolutionary model is based on developing initial increment, which can deliver to end user for evolution based on user feedback modification are made in initial increment and next increment  is develop. Increment is developed and checked in entire process until adequate system has been developed. Developing software incrementally, it is easier to make change in developing software. Elements of waterfall model and iterative philosophy of prototyping is combines in incremental model.
Requirement are divided into different module each module is design and built separately, this avoids a long development time. In incremental model, each module passes through the requirements, design, implementation and testing phases. Working software is produce early in software life cycle.  If we work incrementally we add modules but that modules are work properly. This process is continued until project is completed.
Early increments of system include most urgent and important functionality of system. Customer can evaluate the system in early stage of development to ensure that increment include the functionality that is required. If not, the current increment has to be modified and new functionality defined for later increment.

Diagram of Incremental Model




Incremental Model

Objective of different phase in incremental model
1.   Communication: helps to understand the requirement.
2.   Planning: software people that work on this project and assign different functionality to member.  
3.   Modeling: involves business modeling, data modeling, and process modeling.
4.   Construction: software codes are produce and test each module to check it work according to user requirement.
5.   Deployment: All the increments are integrate, the integrated system are test and deliver to user for feedback.
Incremental development model is very useful to complete the project if the members of software team are less in number to work on project. If the requirement of software is well understood, more team members are added for future increment development. Another benefit of incremental model is that it can manage technical risk. Incremental development approach is used when system part are difficult to specify in advance such as user interface.

                    Advantages and disadvantages of incremental model

Advantages of incremental model:-
1.    The cost of customer changing requirement is reduced. This model is more flexible.
2.    The amount of analysis and documentation that has to be redone is much less as compared to waterfall model.
3.    Working software is delivered in early stage of life cycle. Even all of the functionality is not included. Initial incremental delivery is faster and less cost.
4.    It is easier to get customer feedback, customer can comment on demonstrations and see how is it implemented.
5.    Debugging and testing is easier in incremental model.
6.    Changing requirement during development is reduced.
7.    Work load is less on team member.
        Disadvantages of incremental model:-
1.    System structure is degrade due to new increment (new functionality) are added. Regular changes corrupt the structure.
2.    Cost of the organization may exceed.

3.    Require analysis and design.

Hierarchical Model

            A hierarchical model is one of the earliest database management systems.  The hierarchical model is a record based data model.  Record based model is used to describe external and conceptual level of a database and describe some extent of an internal level of a database.  In record based data model database consist of records and these records may be of different type. In hierarchical model records are stored as a parent child relationship. Information management system (IMS) is a most popular hierarchical database system.  Information Management System is introduced by IBM in 1968 and still used by IBM mainframes.
The example of a hierarchical model:



                                              Figure: The hierarchical model
Characteristics of hierarchical model:
                                                A hierarchical model has different characteristics.  The characteristics of a hierarchical database management system are as follow:
1.      In hierarchical database records are stored as a parent child relationship. For example record R1 is called a parent of a record type R2. The root of a hierarchical is very important and all records at different level of a hierarchy are dependent on the root.  The record that is called a parent is one level higher than a record that is called a child of that parent.
2.       Each child record has only one parent record, but the parent record has one or many children record types. Parent record is also called super module and child record is called sub module.
3.      The record type has one or more record occurrences. When written into database than only one occurrence of a record type is written, and when a record is retrieve from database than only one occurrence of a record type is retrieve.
4.        Particular record occurrence is a parent or child record is determined by Pointer. The records in hierarchical database are link to each other trough pointer. The path from parent to child is maintained through pointer.
5.       The structure of a hierarchical database is simple. The parent and child records are stored close to each other on the disc it minimize the disc input and output.
6.    In hierarchical database records are stored as a pointer from one record to another record. Due to pointer, to move from one place to another place is very fast resulting in high performance.
7.     Root is very important record in the hierarchy. Record type at different level of a hierarchy is dependent on root.
8.     It is very difficult to reorganize database. To maintained
 Parent-Child relationship pointer is manipulated each time a record is inserted or deleted in the database.
9.    Hierarchical database is based on Parent-Child relationship. The application of a real life is more complex that way it cannot be represented by hierarchical structure.
                                  

                  

Friday, 16 September 2016

GNU Health Software

GNU HEALTH SOFTWARE
               GNU provide the following function:-
1. It is multi-platform.
2. It used the tryton framework.
3. Electronic Medical Record (EMR)
4. Hospital Information System (HIS)
5. Health Information system (HIS)
6. GNU use modular approach.
7. Data model for object such as patient, health center, diseases, appointments, evaluation, vaccination and medicaments.
8. Models for neonatology, pediatrics and psychosocial evaluations (Pediatric symptoms checklist – PSC) are include.
9. Z – Scores chart and world health organization percentile
10. Gynecology, obstetrics, perinatal information and puerperium.
11. Maintain request, creation and evaluation of laboratory analyses.
12. Patient hospitalization, bed assignment, care and nursing.
13. Henning field rating, risk factors, home safety, child safety.
14. Patient surgery history, operating room, procedure, pre – operation checklist.
15. Drug addictions, recreational drug database, diets, physical exercise.
16. Occupation, living condition, hostile areas, education, child labour and prostitution.
17. From NCBI “ disease genes “ approximetly 4200 hereditary risk.
18. Generate billing to the selected services. Initial “ invoice “ module are replaces.
19. Manage calendar for appointment, and connect with cal DAV client then add functionality.
20. Patient hospitalizations and bed assignment information are store.
21. For identification Quick Response code (QR) are used. QR is the trademark for a type of matrix barcode.
22. Reports are prepared for patient clinical history.
23. Information about epidemiological and health center we generate graphs.
24. Medication administration, procedure and patient care are undertaken by nursing.
25. Intensive-care unit functionality (ICU).
26. Neglected tropical diseases (NTD) are cover.
27. Neglected tropical diseases chagas diagnose, control, prevent and manage chagas disease.
28. Part of neglected tropical diseases series, NTD Dengue are use for the management of Dengue fever.
29. In medical procedure pharmacy stock management and automatic stock moves generation.
30. Millennium development goal 6 is use to treat Malaria, tuberculosis and HIV/AIDS.
31. Diagnostic imaging orders and management.
32. International Classification of Procedures in Medicine.
33. Crypto is used for record integrity check with hash function, digital signatures, and GNU privacy guard plug in /document digest.
34. To track legacy or paper-based patient health records we use the functionality of archives.
35. Basic ophthalmology and optometry functionality.
36. Depend on international classification of functioning, disability and health and loss center of medical rehabilitation.
37. ICD-9-CM Volume 3 procedure codes.
GNU Health is intended for health institutions and governments, to take care of the daily clinical practice, manage resources, and to improve Public health.

Functional and Non Functional Requirement and Examples

Functional Requirements:-
                               Functional requirement specify the system services that is provided.
Requirements depend on user of the software and software type.
Functional requirement are describe in such a way that system user understand easily.
Define specific facilities provided by the system.
Functional requirement define product features.
Functional requirement specify the behavior or function of the system.
Functional requirements may be written at different levels of detail.
Functional requirement specifies that the system should do.
Functional requirement characterize by verb.
Specification of functional requirement of the system should be consistent and complete.
Completeness means that all services required by the user should be defined.
Consistency means that requirement should not have contradictory definitions.
Example of functional requirement:-
1.    Display the name
2.    Total size
3.    Available space
4.    Format of a flash drive connected to the USB port
5.    Add customer
6.    Print invoice
7.    Authentication
8.    Authentication level
9.    External interface
10. Certification requirement
11.  Reporting requirement
12.  Administrative function
13.  Transaction correction
14.  Organization rule
15.  Legal requirements
Non functional requirement:-
Constrains on functions that are provided by system are non functional requirement.
Non functional requirement are not directly concerned with specific services delivered to user.
 Non functional requirement specify the operation of the system.
 Non functional requirement define product properties.
 Non functional requirement describe character of the work.
 Non functional requirement characterized by objectives.
 Non functional requirement effect the architecture of the system.
 Non functional requirement define how a system is to be.
 Non functional requirement are tested objectively b/c requirement are defined
 quantitatively.
 Non functional requirement are more critical than functional requirement.
 Non functional requirements conflict with other functional and non functional   
 requirements. Non functional requirement are difficult to separate from functional requirements.
Example of non functional requirement 
1.    Performance
2.    Availability
3.    Audit control
4.    Scalability
5.    Backup
  1. Dependency on other parties
  2. Deployment
  3. Documentation
  4. Disaster recovery
  5. Quality (e.g. faults discovered, faults delivered, fault removal efficacy)
  6. Recovery / recoverability
  7. Reliability (e.g. mean time between failures , or availability)
  8. Reporting
  9. Resilience
  10. Resource constraints (processor speed, memory, disk space, network bandwidth, etc.)
  11. Response time
  12. Reusability
  13. Robustness
  14. Safety or Factor of safety
  15. Interoperability
  16. Maintainability
  17. Modifiability
  18. Network topology
  19. Security
  20. Software, tools, standards etc. Compatibility
  21. Stability
  22. Supportability
  23. Testability
  24. Usability by target user community
  25. Fault tolerance (e.g. Operational System Monitoring, Measuring, and Management)
  26. Legal and licensing issues
  27. Open source
  28. Operability
  29. Performance / response time (performance engineering)
  30. Platform compatibility
  31. Price
  32. Privacy
  33. Capacity, current and forecast
  34. Certification
  35. Compliance
  36. Configuration management
  37. Efficiency (resource consumption for given load)
  38. Effectiveness (resulting performance in relation to effort)
  39. Emotional factors
  40. Escrow