Uploaded by sheikh arrafi

Assignment On Computer Fundamentals

advertisement
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
Download