Assignment On Computer Fundamentals & DBMS, Task: 01, By SHEIKH MOHAMMED ARRAFI Identifies the functions of a computer system: There are four functions of computer system: 1. Data input: Every computer is designed with the primary function of data input, an operation performed through input devices. Data entry is done manually, automatically, or both. Manual input is done through additional peripherals such as keyboards, mice, and styluses. Text input can also be done through voice dictation applications and body gesture devices such as Kinect and biometric devices. Elsewhere, data entry is also done using mass storage media and network interfaces. The application software used for this will also require data to be entered. Word processing software is designed for basic alphanumeric data entry, while photo editing applications are used for entering and manipulating images. This data can be imported into a database, spreadsheet, or other form of computerized workspace. Automated and robotic applications can also be used to intelligently feed data to on-premises or remote computers. For example, tally of the electoral process can be done remotely and automatically. 2. Data processing: Data processing is the main function of the computer. Processing involves manipulating raw data before converting it into meaningful information. Generally, the data is in its raw form and will therefore be processed before being distributed to users. The "brain" of the computer where data is processed is called the microprocessor. It is also commonly referred to as a central processing unit (CPU) or an accelerated processing unit (APU). Modern personal computing device processors continue to evolve and outperform their predecessors. One particular development was the merging of the microprocessor and the graphics processing unit (GPU) into what is now known as the accelerated processor. Fusion enables the integration of powerful graphics processing capabilities into the processor's traditional arithmetic and logic operations. Besides the microprocessor, dynamic random access memory (DRAM) and static random access memory (SRAM) are an integral part of data processing. Data entered via input devices is stored temporarily in DRAM, and then transferred to SRAM from where the microprocessor manipulates it. 3. Information output: Once the raw data has been processed by the microprocessor, the results are intended to be disseminated for useful purposes. Therefore, the output is called information and is beneficial to the computer user. Processed data or information may, displayed in alphanumeric, image and video format through display device listen as an audio file using speakers printed as hardcopy on paper printed as a 3D model 4. Data and information storage: The fourth and no less important function of a computer is to store data and information. After sleepless nights creating and editing videos and animations, users want the finished product to be archived for future release and further editing. Computers can store information internally and externally. A Hard Disk Drive (HDD) and/or Solid State Drive (SSD) is an internal storage device and is used to protect and store all data and information on a computer. In large systems, RAID systems are used. Multiple hard drives work simultaneously to ensure the integrity of data and information. External memory is achieved through accessories attached to the outside of the computer. These include external drives and optical discs. Best of all, data and information can be stored online in cloud solutions for a fee or for a fee if significant capacity is needed. Storage integrity is an important stage that can really determine the value of a computer system. Anyway, what good is a computer without data or information? Reference: https://turbofuture.com/computers/The-Four-Functions-Of-AComputer Describes the types, purposes and characteristics of computer hardware: Types of computer hardware: 1. Ram: RAM (Random Access Memory) is a type of computer hardware used to store information and then process it. The processing speed of RAM is much faster than that of a hard drive, but RAM is a volatile device, which means that when the computer system shuts down, all stored information is erased from RAM while the drive is running. non-volatile hard. , which means it permanently stores data on it. . Data can be easily stored in RAM and can be easily extracted from RAM. Ram data recovery process is very fast compared to hard drive. There are two types of RAM SRAM (Static Random Access Memory) and DRAM (Dynamic Random Access Memory). The use of SRAM is done in the CPU cache. And DRAM is used mainly in modern computers. 2. Hard disk: A hard drive is another type of computer hardware used to store the data it contains. The hard drive can be pre-installed in the processor or can be used as an external device. A hard drive is an immutable component, which means that data is permanently stored on the hard drive and is not erased when the system is turned off. Hard drives contain an electromagnet surface that is used to store large amounts of data and is easily accessible. A hard drive is capable of storing billions of bytes of data in its storage. Inside the hard drive, it contains a set of stacked drives whose electromagnetic surfaces are used to store data. Each hard drive has a certain processing speed that ranges between 420015000 rpm. The higher the number of revolutions per minute, the faster the processing speed of the hard drive. High processing speed is used in supercomputers. 3. Monitor: As for computer hardware, hardware is another device used to display output, video and other graphics as it is directly connected to the processor. The video is displayed by the monitor using the video card. The monitor can be compared with the TV, but the difference is in the resolution and the display graphics of the screen is of very good quality compared to the TV. The desktop computer is connected via a cable and integrated into a computer video card installed in the motherboard of the computer system. For laptops, tablets, monitors are built into the system and no separate hardware is installed on these devices. There are two types of computer monitors, CRT and LCD. CRT was used as an older computer model. LCD monitors are used in modern computers because they are thinner, lighter, and easier to use than CRT monitors. 4. CPU: CPU (central processing unit) is the main hardware of the computer system used to interpret and execute most instructions using other parts of the computer i.e. software and devices. The processor is an essential part of any PC, laptop, tablet, and notebook. The processor is also known as the brain of the computer because each operation is performed only in the microprocessor. The processor is made up of a computer chip that contains billions of tiny transistors installed on it. All calculations are done inside these transistors. Other hardware components such as monitor, keyboard, mouse, printer, audio system are connected to the central processing unit. 5. Mouse: It is a manual input device used to point something on the screen. Mouse can be wired or wireless. If the mouse is wired, it is directly connected to the CPU. The mouse can use the laser ball to scroll up or down on the screen. Any movement made from the mouse sends direct instructions to the computer to move the pointer around the screen. 6. Keyboard: A keyboard is another type of computer hardware used to provide input and commands to the computer. The keyboard can be wired or wireless. The keyboard contains alphabets, numbers, special characters, and other buttons to provide input to the computer. It is an input device that receives input from the user and processes commands. 7. Printer: A printer is a type of hardware used to print something seen on a computer and then transfer the displayed information onto paper. Printers can be differentiated based on size, processing speed and other factors. Reference: https://www.educba.com/types-of-computer-hardware/ Purposes of computer hardware: Computer hardware is the physical components that a computer system needs to function. It covers everything with a printed circuit board that runs in a PC or laptop; including motherboard, graphics card, CPU (Central Processing Unit), fan, webcam, power supply, etc. Likewise, what is a hardware system? System hardware includes the physical parts of the computer such as processor, hard drive, graphics card, sound card, RAM, power supply, motherboard, etc. The central processing unit, or processor, is the part of the computer that executes the instructions of the software program. Computer hardware includes the physical parts of a computer, such as the case, central processing unit (CPU), monitor, keyboard, computer data storage, graphics card, and sound card. bar, integrated speakers and motherboard. Hardware is usually run by software to execute any command or instruction. Reference: https://findanyanswer.com/what-is-the-purpose-of-computerhardware-overall Characteristic of computer hardware: 1. Materials are made up of parts that can be touched and felt. 2. Hardware determines what software will be fit in the computer. 3. Computer hardware is expensive to get. 4. Hardware devices can only be manufactured by engineers who are specialize in computer hardware. 5. It is not easy to change specific hardware components. Reference: https://www.coursehero.com/file/p7bdc7gc/37-Computer-systemsCharacteristics-of-Computer-Hardware-1-Hardware-consists-of/ Identifies different types of software: Application software: It is the most common type of computer software and can be defined as an end-user program that helps you complete a task or achieve a desired result. An end user is someone who actually uses a product or program. (This is what the “end result” is designed for.) Some examples of application software include an Internet browser, a CRM tool like Hubspot, photo editing software like Adobe or Lightroom, or a text image editing application like Microsoft Word. Application software is installed on a computer or a mobile device depending on the needs of the user. Since it is the most popular type of software, there are many options and users can choose the one that best suits their needs, budget and expectations. (For example, anyone who wants to search the Internet can use Chrome, Safari, or even Firefox.) System software: System software that helps the user, computer or mobile device, and an application work seamlessly together. This makes system software very important for running any kind of application software as well as the entire computer system. Think about when your laptop or phone got an update. It's system software in action: A change to system software that keeps your computer or phone running smoothly and keeps apps running. Apple's iOS is an example of system software, as is Microsoft Windows. System software always runs in the background of your device, but it's never something you'll use directly. In fact, the only time that people miss the most is when updating. Programming software: While application software is designed for end users and system software is designed for computers or mobile devices, programming software is for computer programmers and developers to code. These are programs used to write, develop, test, and debug other software programs. It's useful to think of these programs as a kind of translator: they use programming languages like Laravel, Python, C++, etc. and translate them into something the computer or phone will understand. Driver software: This software is often thought of as a type of system software. The driver software works and controls devices plugged into the computer. These drivers enable devices to perform their required functions. A very good (and real) example of this is your printer. When you first set up your printer to work with your computer, you need to install software to connect the two so they can communicate and print whatever you need. Reference: https://www.leadwithprimitive.com/blog/the-4-main-types-ofsoftware Describes the use of a range of software and the corresponding purpose: Word processor: A word processor is computer software in which it allows the user to edit, create or print documents. Files from word processors can also be transferred to different computers using a removable disk (USB) or by sending it via email. The user can also edit the document by entering various commands and characters from the keyboard, and once the document file is completed, the user can connect it to the printer for printing. Spreadsheet: A spreadsheet is a software application commonly used by those who need it to organize, analyze, and store data. Information is arranged in rows and columns so that the data can be easily understood. Formulas and other sorting options can be used to arrive at the desired result. For example, if there are more than 50 rows and columns to calculate, the user can only use the formulas provided by the worksheet and sort options to calculate in no less than 30 seconds. Spreadsheets are popular among digital operations and finance possibilities. Database Management System: A database management system, abbreviated as SGBD, is a system in which it collects programs that allow users to store, modify, and extract information from the database. data. Microsoft Access is an example of database management because it allows users to create large tables of information that can then be stored in records. Since databases can be linked together, this saves space and time; that is why schools should use database management systems, as they can store student information in a single record and can be easily found by searching. Email: Email, to put it simply, is electronic mail. Users can email others if they are signed in to the email client and have an account configured with an email service provider, for example. Gmail by Google and Hotmail by Microsoft. To send and receive email, the computer must use TCP/IP protocol to send email as a packet. When sending a new email, the email requirement is who you want to send this email to. Other features in email are optional. Web browser: A web browser is an application in which it displays, locates, and retrieves content from the World Wide Web. Images, videos, and other web pages are also displayed in the web browser for the user to view. The web server must send the information to the web browser to display the results. In today's world, all browsers can render HTML pages, applications, javascript, etc. The web browser gives the user the ability to explore the online world and also adds advanced features to it so that the user can tailor himself. Such as plugins. Computer Aided Design: Computer Aided Design, CAD for short, is a combination of hardware and software, as it allows users to design anything they need. Whether in 2D or 3D. In addition, to use CAD effectively, a user must have a high-quality graphic monitor, a mouse, a light pen or digital tablet for drawing, and a particularly skilled printer. Graphics processing software: A type of software in which it has a specific disc for graphic designs only. For example, photoshop is considered graphics processing software because it processes on that particular disk faster than when it is opened on a normal, old processor desktop computer. Reference: https://nancyit2014.wordpress.com/2015/05/14/range-ofapplication-software/ Identifies ethical issues related to computing: Computer crime: Computer crime is a white-collar intellectual crime. Such offenders must be smart enough to control a computer system and be able to access it in the first place. An example of computer crime is the theft of money by a computer. Usually, the worst that can happen to such a thief is that they are simply asked to return the stolen money. Many times this person will be considered redundant, assuming they are an employee, but can quickly be hired by a competitor due to their skills. This does little to prevent computer theft, as lawsuits are often not brought against perpetrators. Another example is the seizure of an unauthorized computer. By hacking into an unauthorized computer, perpetrators can steal trade secrets and corporate data. Such crimes could be committed by an employee with the aim of selling those secrets to a competitor, or by an outside source who wants to steal those secrets to promote his own welfare. This crime involves both the invasion of property and privacy and also the invasion of the computer system itself. This crime goes hand in hand with the idea of hacking. Hacking is defined as "any computer activity that is not sanctioned or approved by the employer or owner of the system or network" (Forester 44). In many universities, computer science professors ask their students to hack university systems to demonstrate their competence and knowledge of computer systems, which poses a situation serious ethical dilemma. Since the student is not harming the system, is such action morally wrong or acceptable? Many IT professionals feel that this action is not morally punishing and that IT teachers should approach IT ethics more enthusiastically in their lessons. Privacy: Another area of IT ethics concerns confidentiality. The question of security focuses on the most basic functions of a computer, "its ability to store, organize, and exchange records" (Johnson 58). This puts people's personal information in a vulnerable position. If someone hacks into a computer system, all this information is available to them. In this way, crimes such as identity theft can occur. In addition, when stored information can be easily exchanged, the effect of a small error can be magnified. Such errors can persist in the system indefinitely. Computers "create the possibility that incidents in a person's life or errors in their records follow you throughout their life, profoundly affecting how a person is perceived and treated. " (Johnson 60) It is because of this effect that people lose control of their lives and information about them. So there seems to be both good and bad consequences of computerized profiling. One good consequence is that an organization's information needs suggest that "access to relevant information can improve decision-making and, therefore, make the organization more efficient". (Johnson 63) This in turn has a positive outcome for individuals as it can mean better services or savings. However, bad consequences still exist. These relate to the fact that “information is used to make decisions about individuals and those decisions may be based on irrelevant and inaccurate information”. (Johnson 63) There is no way to ensure that the power that organizations exercise due to this access to information is used equitably. Therefore, there seems to be a balance between the information needs of an organization and the interests of the individual. Ethical Responsibilities of IT Professionals: Another area of concern related to all of this is the power that IT professionals wield because of their knowledge of computer systems. IT professionals can act in one of two ways: “(1) When it is not clear, assume information is in the public domain until there is evidence that it is. or (2) When it is not clear, assume the information is private unless or until there is evidence that it is not”. There are two main reasons to be concerned about giving this authority to IT professionals. “First, increasing power in the hands of one person often leads to exploitation by others, and this is a moral issue. Second, some kind of power is necessary for a decent life, a virtuous life, and so it can also be a question of morality.” (Johnson 73) IT professionals should be obligated to use the information they have access to appropriately, but some have chosen to use it unethically to harm others. The power of the computer scientist is also a threat because it is completely centralized. As mentioned earlier, computers allow storing large amounts of information in a small space. This centralization concern arises because “people believe that in a democratic society there is a struggle between government and citizens, so as government agencies become increasingly stronger, citizen control and contributions may become less and less effective.” (Johnson74) Some people worry that if the government controls too much information, their privacy will be violated. Those who do not want to see the computer in the hands of the government but in the hands of individuals oppose the centralization of power. This idea of centralization of power coincides with the idea that technology contributes to a sense of alienation. Alienation is related to losing control of the world in which we live. This can be seen in the fact that due to increasing technological advancement, computers have taken over work that previously belonged to humans. The concept of artificial intelligence (AI) is an example. It is an attempt by computer scientists to simulate components of human intelligence through machines. However, this creates many ethical dilemmas, as it forces us to ask the question “not only if AI itself is a viable goal, but if AI is a viable goal.” specific to human enterprise”. (Forester 129) She degrades the human condition to replace man. So with intelligent machines, is it really necessary? It is essential that those who hold that power do not abuse it. Computer technology introduces a whole new field of ethical dilemmas. From computer crime and privacy to the power of IT professionals, this technology has changed the way business thinks about ethical decisions. However, this is difficult because there is no overall positive moral force in the US business community. Combined with the fact that technology is changing rapidly, it is difficult to establish solid ethical rules about computers and strictly adhere to them. There are many gray areas to consider. Many people have chosen to blame computers when they crash. However, in reality, it is the people who make mistakes because they are the ones who make the technology. People are simply using computers as a scapegoat to evade liability. That's why it's so important to educate people about the power and potential abuses of computer technology. Only by doing so will the company gain a solid understanding of IT ethics and address IT-related ethical dilemmas ethically and appropriately. Reference: https://www.comptia.org/blog/ethical-problems-in-computing Identifies the laws and regulations that govern computing: Computer law includes all laws relating to the transfer, use and storage of electronic information. It is basically any law regarding computers and other electronic devices that store information. Computer law covers a wide range of topics, including security, private property rights, and even constitutional law. Contract: When you buy a computer, open an account on a website, or complete an online credit application, you must check the box indicating that you understand the terms and conditions of the contract. An IT attorney drafted this agreement. Computer scientists should know all the laws related to contracts and computers. Companies in the information technology industry use contracts in their day-to-day operations. For example, an online business may need to contract with another business to handle online purchases. They may need to contract with a third party to develop a website or custom software to run their business. All of this important contract work is subject to IT law. Intellectual Property: Computers and intellectual property are closely related. Companies are creating new products, artwork and marketing strategies for their online business. IT people need to help these companies preserve their work so they can profit from it. A computer scientist can help a client patent a new technology. They can also register a trademark for the company's exclusive use. Piracy is a common problem in the computer world. Online, it's often easy to pirate others to make quick money. IT professionals must be prepared to help their customers enforce copyrights and maintain exclusive rights to use their products. On the other hand, unscrupulous businesses and individuals can also easily use the anonymity of the internet world to claim copyrights where they do not exist. In this case, businesses and individuals must be prepared to fight back. Another important area of computer law is combating gratuitous claims of copyright infringement. Tort Law: With the advent of the Internet, people are saying everything in a public forum. Not only do they use the internet to talk to specific people, but they also use sites like Craigslist and Airbnb to market their products. Thirdparty marketing services raise new questions about the responsibilities of these website owners to customers. Even companies like Google have to ask themselves if user information is fair game and whether it should be disclosed to the government if the government requests it. The Communications Decency Act of 1996 states that third-party websites are not responsible for the content of people posting on their sites. Information technology professionals need to know what privacy laws exist and how to respond to subpoenas and government requests for information. Telecommunications Act: The federal government regulates communications. From the earliest days of AM and FM radio broadcasts to today's modern technology, the government has always had control over how media companies do business. IT companies and the telecommunications industry must know which laws govern them. From market share to bandwidth to the ability to prioritize certain content over others, there are many regulations that computer and telecom providers should know and follow. Computer lawyers make this possible. They also help businesses litigate or hear about alleged violations of government regulations. Constitutional law: Computer law has an impact on the constitution. The issue of free speech on the Internet is a regular one. The computer is the most recent forum for the ongoing debate about First Amendment limits. Constitutional law and computer law also intersect when it comes to questions of search and seizure. Courts must determine when law enforcement may search a computer or other electronic device. With information so readily available today, law enforcement officers often believe that information will be available to them without a warrant. Computer scientists are there to control government power. The 1987 Computer Safety Law: Creators of Law first grouped the importance of privacy in electronic data in the 1987 Computer Security Law. The law created minimum standards for electronically stored information. Federal Information Security Administration Act of 2002: The Federal Information Security Administration Act of 2002 replaced the Computer Security Act of 1987 with new rules and regulations governing electronic information held by government agencies. Each agency must develop and implement an agency-wide plan and policy for the security of electronic information. Your plan must assess and address the security risks that may exist in relation to the storage of electronic information within the agency. You need to produce reports on compliance with the law. Federal agencies spend billions of dollars on information technology each year. Computer Fraud and Abuse Act: This law criminalizes computer-related fraud. It criminalizes accessing a federal computer without authorization. In addition, it criminalizes knowingly infecting government computers with viruses. Password theft and extortion are also prohibited by law. Other State Laws: The federal government is not alone in making computer laws. Most states also have laws regulating computer use. For example, Michigan prohibits the use of computers to commit crimes. A person facing this criminal charge must also face charges they have committed with the computer. Michigan also prohibits using the Internet to harass or spy on anyone. Most states have similar laws. Reference: https://legalcareerpath.com/what-is-computer-law/ Researches and identifies situations where laws have been enforced to deal with people who have used computers for unethical and illegal purposes: Media Piracy: Digital media piracy is a significantly unethical act done with computers. Piracy is the illegal distribution of music, movies, books and other intellectual media. Because the Internet is such a big network, catching hackers isn't always easy. Piracy is an illegal violation of a media owner's copyright. Businesses that use information obtained through hacking can at least receive cease and desist letters from media owners. Fines and legal action may be followed. A common example of media piracy occurs when a company uses a popular song for an educational or promotional YouTube video without securing the rights to the song or provide proper attribution. Ransomware Attacks: Thieves love to use the anonymity of the Internet to attack businesses. By breaking into a company's main server, cyber attackers can take the company hostage. Hackers encrypt entire websites, shutting down business until business owners pay the hacker a fee - a ransom - in a so-called denial of service attack. This type of cyber attack can happen to any business or organization anywhere in the world. Reducing this vulnerability to unethical computer use requires constantly updating server security platforms, including protection against spyware, malware, and viruses. Identity theft: With the protection of a company against Ransomware, companies must protect consumer information. Not properly protecting personal information is expensive for businesses and can lead to legal fines and private prosecution. Financial theft: Some hackers don't steal information, but instead hack systems to get hold of a company's financial information in order to steal money. For example, a hacker could redirect a nonprofit's donation system and send money to a foreign account controlled by the hacker. This unethical practice essentially misleads a website buyer into believing that a transaction on the website has been completed when in reality the business was never notified of the sale and money was lost on the site. foreign. Intellectual Property Theft: Piracy is not the only type of intellectual property that is unethically distributed through the use of computers. Competitors use a number of methods to gain access to proprietary information that other companies pay millions of dollars to develop. Theft typically includes patented information or patent-pending patents. Intellectual property theft is often done by internal moles or contract workers who have access to a company's computer servers. While security protocols with anti-virus protection often help prevent external theft, it is difficult to protect against internal breaches. Reference: https://bizfluent.com/info-8504478-legal-responsibilities-relatedinformation-systems.html Assess how relational database models and normalisation provide reliable and efficient databases: Relational database: Data classification: database administrators can easily categorize and store data in the relational database which can then be interviewed and filtered to extract information for reports. Accuracy: Data is stored only once, eliminating duplication of data in stored procedures. Easy to use: Complex queries are easy to perform with SQL, the main query language used with relational databases. Collaboration: several users can access the same database. Security: Direct access to data in RDBMS tables may be limited to specific users. Reference: https://searchdatamanagement.techtarget.com/definition/relational-database Normalisation database: 1. Updates run quickly because no data is duplicated in multiple places. 2. Insertion is fast because there is only one insertion point for one data and no copying is required. 3. Tables are typically smaller than those found in non-standard databases. This generally allows the tables to fit in the cache, thus providing faster performance. 4. Data integrity and consistency is an absolute must if the database is ACID compliant. A standardized database is of great help in such an endeavor. Reference: https://dzone.com/articles/pros-and-cons-of-databasenormalization Critically compare a range of Database Modelling languages: User-Friendly: With the main motivations behind Umple, as stated above, it is essential that user-friendliness is our central concern during the development of Umple or any other tool. any other model. We have focused on the following aspects of usability that we consider essential and recommend them as secondary criteria for comparing modeling approaches. It should be easy to set up: One problem with many tools is that they are not "instant". This not only hinders classroom use, but also causes spontaneous discussions between developers (such as “whiteboard” style sessions) or a quick return to work after an interruption. paragraph. In Umple, users can do quick web work using UmpleOnline and have access to a command line tool that also requires almost no installation. We recommend that this be rated on the following scale: i. Instanton (usually web-based); ii. Download and run; iii. Download and run with other components that need to be pre-installed (like an IDE) and need to be at this level or better in installability. iv. Installation is complex (e.g. requires compilation, configuration, etc.) It should be easy to learn: The tool should have extremely simple modes so that beginners can immediately guess what needs to be done. In Umple, we focus on simplicity of the language: class declarations look like declarations in other languages; union declaration looks like UML; state machines are just nested blocks named Cstyle. Likewise, on startup, UmpleOnline displays a central menu highlighting the main operations: Load/Draw/Create. There is no complicated configuration of the "project" as is normal in other modeling tools or IDEs. In Umple, we chose to allow models to be written with the least amount of special symbols, brackets, and other complex syntaxes. We also ensure that its syntax matches that of other C-family languages to ensure familiarity and ease of integration. For the graphical language, Moodie provides a complete set of ideas [15]. Assessment of learning ability can only be adequately done with experimental studies, but to achieve optimal learning ability it is necessary to have: a) Some examples that can be tried in practice without need effort; b) Provide adequate feedback to help users when they make mistakes or suggest alternative solutions; c) Ability to do basic modeling by testing and simulating or modifying examples; d) Complete user manual; e) Default values for items are configurable, so users can "start" a basic project right away. Without a doubt, this list of criteria will have to be expanded. It needs to be efficient and fast to use: users need to be able to edit the model as quickly as possible with the least amount of mouse movement or keystrokes. We've found that for some tasks (such as adding a diagram element), a two-click interaction involves clicking an icon and then clicking a location in the diagram to add an element, works best. Rename by clicking on the name and edit, can also work well on diagrams. However, for anything more complex, well-designed text symbols are superior. In Umple, we chose to implement tools that allow text versions of UML models according to the C family's syntax, side-by-side with diagram versioning. This gives users the best of both worlds and our surveys show that users are satisfied [10]. To evaluate this criterion, more empirical studies are needed. Measurement may involve determining a user's ability to create reference models, make specific changes to those models, and answer specific questions about those models. . It will keep users away from errors: we have observed that many modelers in the industry produce inaccurate or incomplete models [11]. Full code generation is one solution to this problem, because without generating code where the results can be checked, it is difficult to get feedback on the models. Umple works like any other compiler and provides various warnings and errors to guide the user to create correct models. We created a man page that shows the cause of the error and gives an example of how to fix it. All errors, even in the embedded base language code, point to the origin of Umple, eliminating the error-prone and complex "circle technique". In order to compare tools, one would need empirical evaluation, measuring the frequency of errors and the speed of error correction, when working with standard problems. Scalability: Many modeling tools have scalability issues. We suggest that extensibility should mean the following for a language or modeling engine. It can model systems of arbitrary size and process those models without slowing down: In Umple, we compiled systems of thousands of rows, including Umple itself, or JHotDraw [12]. It should have an acceptable response time as the system grows: since Umple is text-based, editing large models shouldn't be a problem: integrated development environments can already handle models large images for decades across multi-file systems. In addition, the Umple compiler can compile a very large system in slightly longer time than an equivalent Java system can be compiled. To evaluate this, one should measure the speed of editing and, if possible, the speed of analysis or the speed of code generation. Any slowdown to editing large models would indicate a lack of scalability, as well as a non-linear slowdown in analysis or code generation. It must have separation and anxiety mechanisms: these allow the user to work with parts of the system and not be confused by too much complexity. A Umple system can be divided into files in several ways: By class or by function for example. Parts of a class can be defined in different files. Having such mechanisms does not guarantee immediate scalability, as modelers must always organize their models. However, this inability limits scalability. To evaluate this criterion, modeling approaches must be labeled according to whether the submodules can be modified and analyzed independently of the larger model, and whether one of the techniques Can the following techniques be used: multi-element, aspectoriented, combination/trait, variant, and tools to show relationships between model elements (e.g., UML package diagrams are create) as well as to edit those relationships. It must have search engines to find elements in a complex model. Since Umple is a text modeling tool, you can use all the power of existing text search engines. Graph modeling approaches should be evaluated against the ease of finding elements or structures. Completeness: Completeness in a modeling tool can be assessed against certain dimensions: • Completeness relative to a standard language (eg UML). • Completeness in relation to user needs, as assessed by empirical studies. • Completeness of analytic capabilities, i.e. the extent to which semantic analysis of the model is performed to find errors or inconsistencies. • Inclusiveness of the generation process, i.e. if all relevant semantics represented in the model are reflected in the generated code. This only applies to languages used to generate code and not to languages for aspects such as requirements. In Umple we specifically avoid implementing all of UML, because a major criticism of UML is that it is too complicated. Instead, we focused on the second criterion above - we asked users to develop the system, and when they found significant flaws in Umple, we improved Umple by adding new features. necessary capacity. We also continue to address the third criterion by adding more layers of analytical capabilities. Umple already has a full set of warnings and error messages, pointing out inconsistencies. We also have tools for generating metrics and are working on the Umple interface with fullfledged tools for model verification and theorem proofs. Our previous research revealed serious shortcomings in the code generated by almost every code generator we could access. For example, most code generators for UML bindings, including ArgoUML, create only a few variables in each class. The user must write code to manipulate these variables. Umple generates code that correctly handles all constraints, as well as referential integrity. Reference: http://ceur-ws.org/Vol-1076/paper3.pdf