Comparison of Clustering Algorithms in the Context of Software Evolution

Total Page:16

File Type:pdf, Size:1020Kb

Comparison of Clustering Algorithms in the Context of Software Evolution Comparison of Clustering Algorithms in the Context of Software Evolution Jingwei Wu, Ahmed E. Hassan, Richard C. Holt School of Computer Science University of Waterloo Waterloo ON, Canada j25wu,aeehassa,holt @uwaterloo.ca Abstract one of many problems that confront today’s large software projects. Software clustering holds out the promise of help- To aid software analysis and maintenance tasks, a num- inginthistask[13,24]. ber of software clustering algorithms have been proposed Software clustering refers to the decomposition of a soft- to automatically partition a software system into meaning- ware system into meaningful subsystems. It plays an im- ful subsystems or clusters. However, it is unknown whether portant role in understanding legacy software systems [15], these algorithms produce similar meaningful clusterings for assisting in their architectural documentation [3, 13], and similar versions of a real-life software system under contin- supporting their re-modularization[22, 27]. For example, a ual change and growth. misplaced procedure or file can be automatically discovered This paper describes a comparative study of six software and relocated to the proper subsystem to reduce unexpected clustering algorithms. We applied each of the algorithms dependencies and prevent the decay of the architecture [12]. to subsequent versions from five large open source systems. Ideally, a software clustering algorithm should be auto- We conducted comparisons based on three criteria respec- mated to provide continual support throughout the lifetime tively: stability (Does the clustering change only modestly of a large software system. More importantly, the algorithm as the system undergoes modest updating?), authoritative- must produce meaningful clusterings in a stable manner. To ness (Does the clustering reasonably approximate the struc- be meaningful, the algorithm must produce clusterings that ture an authority provides?) and extremity of cluster distri- can help developers understand the system. A clustering al- bution (Does the clustering avoid huge clusters and many gorithm which places all source files from a system into two very small clusters?). large clusters will not be helpful to developers analyzing the Experimental results indicate that the studied algorithms code. To be stable, the algorithm must produce clusterings exhibit distinct characteristics. For example, the clusterings that do not vary widely from one version of the system to from the most stable algorithm bear little similarity to the the next. An algorithm which produces clusterings that vary implemented system structure, while the clusterings from widely even though no major code restructuring occurred the least stable algorithm has the best cluster distribution. between versions is likely not to be used by developers. Based on obtained results, we claim that current automatic In this paper, we will compare six clustering algorithms clustering algorithms need significant improvement to pro- by applying them to subsequent versions of five large open vide continual support for large software projects. source systems. Our objective is to clarify to what extent software clustering algorithms can be used to support re- modularization and architectural documentation during the 1 Introduction life cycle of a large software system. We use three criteria to evaluate the usefulness of these algorithms: C1 When A well documented architecture can improve the quality a system changes modestly, the clustering produced by an and maintainability of a software system. However, many algorithm should also change modestly; C2 An automati- existing systems often do not have their architecture docu- cally produced clustering should approximate the clustering mented. Moreover, the documented architecture becomes produced by an authority (e.g., the architect); and C3 Au- outdated and the system structure decays as rapid changes tomatically produced clusters should generally not be either are made to the system to meet market pressure [7, 18]. A huge (i.e., containing hundreds of source files) or tiny (i.e., high rate of turnover among developers makes the situation containing very few source files). even worse. Maintenance of architectural documentation is The rest of this paper is organized as follows: Section 2 Systems Prog. Lang. # Versions # Source Files Size (KLOC) Graph Data Raw Data Extraction Time Ruby C 73 90 – 261 74 – 187 6.5MB 1.0 GB 21 mins KSDK C/C++ 70 21 – 1156 3 – 263 82.5MB 2.5 GB 52 mins OpenSSL C 73 593 – 845 164 – 278 74.4MB 4.2 GB 57 mins PGSQL C 73 771 – 947 182 – 519 99.1MB 4.5 GB 59 mins KOffice C/C++ 70 1358 – 3266 272 – 962 1235.5MB 42.0 GB 325 mins Table 1: Properties of five target systems from 1999 to 2004. The Raw Data refers to CTSX output and Graph Data refers to lifted graphs. Due to a CVS update problem, the last three monthly versions of KSDK and KOffice in 2004 are not available. provides an overview of five systems chosen for the exper- 3 Experimental Design imentations. Section 3 describes the experimental setup in the context of software evolution. Section 4 introduces a simple ordinal measure for comparing a number of data se- Figure 1 illustrates the design of our experiments. We ries. Section 5 describes the experimental results obtained begin with the repository (stored in CVS) of a target system using ordinal evaluation techniques. The results show that (such as PGSQL) that we use to evaluate clustering algo- the studied clustering algorithms exhibit distinct character- rithms. The repository contains successive versions of the istics in terms of stability, authoritativeness, and extremity. target system. We retrieve monthly versions of the source Î Î ¾ Section 6 discusses several interesting observations. Sec- code, called here ½ , , and etc. In step 1 (program ex- tion 7 considers related work and Section 8 concludes this traction), we extract a directed graph from each version Î paper. . In this graph, each node represents a file in the target system. Each edge represents a static dependency (such as 2 Target Systems a reference to a variable or a data type, a call to a function, or a call to a macro) from one file to another. In step 2 (soft- ware clustering), we run a number of clustering algorithms, To evaluate software clustering algorithms, we chose to called , , etc., on each graph , producing clusterings apply them to a number of real-life systems, all of which are , , etc. Finally, in step 3 (comparative analysis), we open source software and hence available for study. Table use a set of criteria to evaluate the algorithms. We now dis- 1 gives a summary of key properties of five target systems. cuss these steps in more detail. They represent distinct application domains and have gone through a number of years of development. We now briefly describe these systems. 3.1 Program Extraction 1. KSDK is a software development kit for the K Desktop Environment (KDE) [8]. It offers powerful framework In the first step we extract graphs from 70 to 73 monthly support for various kinds of KDE applications. versions (see Table 1) of the target systems, as illustrated in 2. KOffice is a free, integrated office suite for KDE. This Figure 1. Extraction can be a difficult task due to the size suite contains 12 major applications: KWord, KChart, of the systems, the number of versions, and irregularities KSpread, KPresenter, Kivio, Karbon14, Krita, Kugar, present in the source code (e.g., syntactical errors, incom- KPlato, Kexi, KFormular, and Filters [9]. plete code, language dialects and software configurations). 3. OpenSSL is a cryptography toolkit implementing the To circumvent these difficulties, we developed a lightweight Secure Socket Layer (SSL) and Transport Layer Secu- C/C++ source code extractor called CTSX. rity (TLS) network protocols and related cryptography CTSX is built on CTags [5] and CScope [4]. Both tools standards [17]. are efficient and robust in handling software systems up to 4. PostgreSQL is a free, large, SQL compliant object Re- millions of lines of code. CTSX uses CTags to extract pro- lational Database Management System (DBMS) [19] gram entities (e.g., functions, variables, and data types) and that originated at the University of California at Berke- CScope to retrieve references (e.g., function calls) to enti- ley in 1996. The rest of this paper will refer to Post- ties found by CTags. These references are then “lifted” to greSQL as PGSQL. the level of source files to produce directed edges between nodes (files) in the extracted graph. This lifting to the level 5. Ruby is an interpreted scripting language designed for of files greatly decreases the size of the graph, which is an quick and easy object oriented programming [21]. It important consideration when dealing with many versions has many convenient features for text file processing of a large target system. and system management. 2 Software Versions Software Graphs Software Clusterings Results V1 G1 Algorithm A C1A C2A . CnA Scores Source Step 1: Step 2: Step 3: Repository V2 Program G2 Software Comparative (e.g., CVS) . Extraction . Clustering Analysis . Data Plots Algorithm B C1B C2B . CnB Vn Gn Figure 1: Comparative analysis of software clustering algorithms in the context of software evolution 3.2 Software Clustering 6. Bunch provides a suite of algorithms that include Hill Climbing, Exhaustive, and Genetic Algorithms [6, 13]. In the second step of the experiment (see Figure 1) a set We tried three different hill climbing configurations: of clustering algorithms is run over graphs extracted from NAHC (nearest ascend hill climbing), SAHC (shortest each monthly version of the target system. A clustering is ascend hill climbing), and a customized configuration created for each version by each algorithm. with the minimum search space greater than 55% and We chose a set of six clustering algorithms based on the randomized proportion of the search space equal to their availability and their discussion in the literature.
Recommended publications
  • Download the Index
    41_067232945x_index.qxd 10/5/07 1:09 PM Page 667 Index NUMBERS 3D video, 100-101 10BaseT Ethernet NIC (Network Interface Cards), 512 64-bit processors, 14 100BaseT Ethernet NIC (Network Interface Cards), 512 A A (Address) resource record, 555 AbiWord, 171-172 ac command, 414 ac patches, 498 access control, Apache web server file systems, 536 access times, disabling, 648 Accessibility module (GNOME), 116 ACPI (Advanced Configuration and Power Interface), 61-62 active content modules, dynamic website creation, 544 Add a New Local User screen, 44 add command (CVS), 583 address books, KAddressBook, 278 Administrator Mode button (KDE Control Center), 113 Adobe Reader, 133 AFPL Ghostscript, 123 41_067232945x_index.qxd 10/5/07 1:09 PM Page 668 668 aggregators aggregators, 309 antispam tools, 325 aKregator (Kontact), 336-337 KMail, 330-331 Blam!, 337 Procmail, 326, 329-330 Bloglines, 338 action line special characters, 328 Firefox web browser, 335 recipe flags, 326 Liferea, 337 special conditions, 327 Opera web browser, 335 antivirus tools, 331-332 RSSOwl, 338 AP (Access Points), wireless networks, 260, 514 aKregator webfeeder (Kontact), 278, 336-337 Apache web server, 529 album art, downloading to multimedia dynamic websites, creating players, 192 active content modules, 544 aliases, 79 CGI programming, 542-543 bash shell, 80 SSI, 543 CNAME (Canonical Name) resource file systems record, 555 access control, 536 local aliases, email server configuration, 325 authentication, 536-538 allow directive (Apache2/httpd.conf), 536 installing Almquist shells
    [Show full text]
  • Strong Dependencies Between Software Components
    Specific Targeted Research Project Contract no.214898 Seventh Framework Programme: FP7-ICT-2007-1 Technical Report 0002 MANCOOSI Managing the Complexity of the Open Source Infrastructure Strong Dependencies between Software Components Pietro Abate ([email protected]) Jaap Boender ([email protected]) Roberto Di Cosmo ([email protected]) Stefano Zacchiroli ([email protected]) Universit`eParis Diderot, PPS UMR 7126, Paris, France May 24, 2009 Web site: www.mancoosi.org Contents 1 Introduction . .2 2 Strong dependencies . .3 3 Strong dependencies in Debian . .7 3.1 Strong vs direct sensitivity: exceptions . .9 3.2 Using strong dominance to cluster data . 11 3.3 Debian is a small world . 11 4 Efficient computation . 12 5 Applications . 13 6 Related works . 16 7 Conclusion and future work . 17 8 Acknowledgements . 18 A Case Study: Evaluation of debian structure . 21 Abstract Component-based systems often describe context requirements in terms of explicit inter-component dependencies. Studying large instances of such systems|such as free and open source software (FOSS) distributions|in terms of declared dependencies between packages is appealing. It is however also misleading when the language to express dependencies is as expressive as boolean formulae, which is often the case. In such settings, a more appropriate notion of component dependency exists: strong dependency. This paper introduces such notion as a first step towards modeling semantic, rather then syntactic, inter-component relationships. Furthermore, a notion of component sensitivity is derived from strong dependencies, with ap- plications to quality assurance and to the evaluation of upgrade risks. An empirical study of strong dependencies and sensitivity is presented, in the context of one of the largest, freely available, component-based system.
    [Show full text]
  • Understanding and Identifying Large-Scale Adaptive Changes from Version Histories
    UNDERSTANDING AND IDENTIFYING LARGE-SCALE ADAPTIVE CHANGES FROM VERSION HISTORIES A dissertation submitted to Kent State University in partial fulfillment of the requirements for the degree of Doctor of Philosophy by Omar M. Meqdadi August, 2013 Dissertation written by Omar M. Meqdadi B.S., Jordan University of Science and Technology, Jordan, 2002 M.S., Jordan University of Science and Technology, Jordan, 2007 Ph.D. Kent Sate University, USA, 2013 Approved by Dr. Jonathan I. Maletic Chair, Doctoral Dissertation Committee Dr. Feodor F. Dragan Members, Doctoral Dissertation Committee Dr. L.Gwenn Volkert Dr. Michael L. Collard Dr. Joseph Ortiz Accepted by Dr. Javed I. Khan , Chair, Department of Computer Science Dr. James L. Blank , Dean, College of Arts and Sciences ii TABLE OF CONTENTS LIST OF FIGURES ..................................................................................................... VIII LIST OF TABLES .......................................................................................................... XI ACKNOWLEDGMENTS .............................................................................................XV CHAPTER 1 INTRODUCTION ..................................................................................... 1 1.1 Recognizing Adaptive Changes ................................................................................ 3 1.2 Research Focus .......................................................................................................... 4 1.3 Conducted Research .................................................................................................
    [Show full text]
  • Kexi - Database Environment and Introduction to KDE Database Layer
    Welcome Kexi - Database Environment and Introduction to KDE Database Layer Jarosław Staniek js at iidea.pl Overview 1. Kexi in Details 2. Kexi & KOffice 3. Reusable Components 4. Plans What is Kexi? Integrated data management application for KDE (KOffice member) We are talking about desktop databases, geared to vertical solutions, user interaction Direct competition for: MS Access Filemaker Oracle Forms OpenOffice.org Base What Kexi is not? It's not a database administering tool (there are many specific administering tasks a database designer is not willing to perform) It's not a database frontend specialized for a single database engine (specific tasks will be always better handled by specialized tools dedicated for a single engine) People Late 2002: project started by Lucijan Bush; contributions from Peter Simonsson and Joseph Wenninger Feb 2003: joined Jarosław Staniek, current lead developer sponsored by OpenOffice Polska Dec 2003: joined Cédric Pasteur, now core developer (forms) Jun 2004: joined Martin Ellis (databases) Sep 2004: joined Sebastian Sauer (scripting) Important Milestones September 2003: High-level generic database layer (KexiDB) May 2004: Visual table and query designers October 2004: Graphical support for server databases July 2005: Final version of database forms with advanced designer June 2005: First version officially bundled with KOffice Main Modules - Stable Database Library (KexiDB) uniform schema designing and database accessing API Data Sheet and Table Designer more flexible than QTable
    [Show full text]
  • Suites Ofimáticas Libres
    Suites ofimáticas Libres umh2820-HSL Índice general 1 Calligra Suite 1 1.1 Plataformas soportadas ........................................ 1 1.1.1 Escritorio ........................................... 1 1.1.2 Smartphones ......................................... 1 1.1.3 Tabletas ........................................... 1 1.2 Historia ................................................ 1 1.3 Componentes ............................................. 2 1.4 Recepción ............................................... 2 1.5 Detalles técnicos ........................................... 2 1.6 Véase también ............................................ 2 1.7 Referencias .............................................. 2 1.8 Enlaces externos ........................................... 4 2 Feng Office 5 2.1 Características ............................................ 5 2.2 Detalles técnicos ........................................... 5 2.3 Historia ................................................ 5 2.4 Estado actual ............................................. 5 2.5 Enlaces externos ........................................... 6 2.6 Referencias .............................................. 6 3 KOffice 7 3.1 Historia ................................................ 7 3.1.1 Primera generación ...................................... 7 3.1.2 Segunda generación ..................................... 7 3.2 Componentes ............................................. 8 3.3 Competencia ............................................. 8 3.4 Detalles técnicos ..........................................
    [Show full text]
  • A Guide to IBM Linux Solutions and Resources
    Front cover Linux Handbook A Guide to IBM Linux Solutions and Resources Discover the IBM Software solutions for Linux-based servers Understand how Linux operates on each IBM platform Learn about IBM resources for implementing Linux solutions Nick Harris Ralph Cooley Cameron Hunt Randy Kuseske Dan Lacine Tomomi Takada Bob Waite Dirk Webbeler Alexander Zaretsky ibm.com/redbooks International Technical Support Organization Linux Handbook: A Guide to IBM Linux Solutions and Resources April 2003 SG24-7000-00 Note: Before using this information and the product it supports, read the information in “Notices” on page xi. First Edition (April 2003) © Copyright International Business Machines Corporation 2003. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . .xi Trademarks . xii Preface . xv The team that wrote this redbook. xv Become a published author . xix Comments welcome. xx Forward . xxi Chapter 1. Introduction to Linux . 1 1.1 The foundation for Linux . 2 1.2 The IBM commitment to Linux. 3 1.2.1 IBM’s ‘penguin’ projects . 4 1.3 Linux: The operating system . 9 1.3.1 Linux BIOS management . 11 1.3.2 Where Linux fits in. 12 1.3.3 Working with other operating systems . 12 1.4 Infrastructure . 13 1.5 Data storage . 13 1.6 Middleware . 14 1.7 Application solutions . 16 1.8 Clients . 17 1.9 The Linux distributions . 18 1.9.1 What is a distribution. 19 1.9.2 What is common among the distributions . 21 1.9.3 What is open source .
    [Show full text]
  • Secure Content Distribution Using Untrusted Servers Kevin Fu
    Secure content distribution using untrusted servers Kevin Fu MIT Computer Science and Artificial Intelligence Lab in collaboration with M. Frans Kaashoek (MIT), Mahesh Kallahalla (DoCoMo Labs), Seny Kamara (JHU), Yoshi Kohno (UCSD), David Mazières (NYU), Raj Rajagopalan (HP Labs), Ron Rivest (MIT), Ram Swaminathan (HP Labs) For Peter Szolovits slide #1 January-April 2005 How do we distribute content? For Peter Szolovits slide #2 January-April 2005 We pay services For Peter Szolovits slide #3 January-April 2005 We coerce friends For Peter Szolovits slide #4 January-April 2005 We coerce friends For Peter Szolovits slide #4 January-April 2005 We enlist volunteers For Peter Szolovits slide #5 January-April 2005 Fast content distribution, so what’s left? • Clients want ◦ Authenticated content ◦ Example: software updates, virus scanners • Publishers want ◦ Access control ◦ Example: online newspapers But what if • Servers are untrusted • Malicious parties control the network For Peter Szolovits slide #6 January-April 2005 Taxonomy of content Content Many-writer Single-writer General purpose file systems Many-reader Single-reader Content distribution Personal storage Public Private For Peter Szolovits slide #7 January-April 2005 Framework • Publishers write➜ content, manage keys • Clients read/verify➜ content, trust publisher • Untrusted servers replicate➜ content • File system protects➜ data and metadata For Peter Szolovits slide #8 January-April 2005 Contributions • Authenticated content distribution SFSRO➜ ◦ Self-certifying File System Read-Only
    [Show full text]
  • Edición De Documentos
    Uh Tuyub Yuliana Aracely 10-Octubre-2016 Grupo: 103 EDICIÓN DE DOCUMENTOS UH TUYUB YULIANA ARACELY 17 DE OCTUBRE DE 2016 CONALEP QUINTANA ROO 1 Uh Tuyub Yuliana Aracely 10-Octubre-2016 Grupo: 103 PROCESADORES DE TEXTO. COLEGIO NACIONAL DE EDUCACION PROFESIONAL TECNICA. Plante Cancún 2. DOCENTE: Lic. Inf. Erick Molina Balam MODULO: Procesamiento de información por medios digitales. GRUPO: 103 ESPECIALIDAD: ADMINISTRACION ALUMNO: Uh Tuyub Yuliana Aracely. 2 Uh Tuyub Yuliana Aracely 10-Octubre-2016 Grupo: 103 INDICE. Procesadores de textos. BLOC DE NOTAS ................................................................................................................................... 4 KOffice ............................................................................................................................................... 11 MICROSOFT WORD ............................................................................................................................. 6 STAR OFICCE ........................................................................................................................................ 9 WORD PAD .......................................................................................................................................... 5 3 Uh Tuyub Yuliana Aracely 17-Octubre-2016 Grupo: 103 BLOC DE NOTAS Bloc de notas (en inglés notepad) es un editor de texto simple incluido en los sistemas operativos de Microsoft desde 1985. Su funcionalidad es muy simple. Algunas características propias son: Inserción
    [Show full text]
  • Linux for Source 1 # The
    £9.99 10/4/08 14:22:02 DVD INSIDE ISSUE THIRTEEN ISSUE source for Linux for source 1 # The Here’s your complete guide to using Linux! using to guide complete your Here’s Want to dump Windows but don’t know how? how? know don’t but Windows dump to Want STARTER PACK STARTER THE LINUX THE THE BEGINNER’S GUIDE TO ALL THINGSOPEN SOURCE! LXFS13 The Linux Starter Pack Installation Internet apps Word processing Desktop publishing Photo manipulation Spreadsheets BitTorrent Instant messaging Troubleshooting All you need to get started with Linux! LXFS13.cover 1 Brought to you by The #1 source for Linux www.linuxformat.com TuxRadar www.tuxradar.com Introduction Welcome! If you’ve made it this far, you’re clearly among the growing number of people who are curious about Linux. I’m not sure what has led you here – perhaps you’re sick of installing security updates every other day, perhaps you’re tired of Linux Starter Pack rebooting when your computer runs slowly, or maybe you’ve just had EDITORIAL enough of the Blue Screen of Death Editor Paul Hudson Disc editor Mike Saunders – but whatever it was that brought Contributing editor Graham Morrison Operations editor Andrew Gregory you here, I’m glad to welcome you to Art editor Efrain Hernandez-Mendoza Art assistance Stacey Black, Nick Cox, Neil Freestone, the family of Linux users, and hope Martin Parfitt you’ll fi nd that there’s a whole new world of computing here that can really MANAGERIAL & MARKETING Marketing product manager Jennifer Wagner put the fun back into it all again.
    [Show full text]
  • Linux Desktop Environments Submitted by Prasham Trivedi (6044) As a Partial Fulfillment of the Course of B.E.I.T
    2009 Linux desktop environments Submitted By Prasham Trivedi (6044) As a partial fulfillment of the course of B.E.I.T. SHANTILAL SHAH ENGINEERING COLLEGE CERTIFICATE This is to certify that below mentioned student Mr. Prasham H Trivedi(Roll No. 6040) of semester 8th , course B.E.I.T. , have successfully and satisfactorily completed his Seminar report on “ Linux Desktop Environment ” in subject Seminar report and produced this report of year 2009 and submitted to S.S.E.C., BHAVNAGAR. DATE OF SUBMISSION: --------------------------------------------- STAFF IN CHARGE: HEAD OF DEPARTMENT: PRINCIPAL: Table of Contents Desktop Environments Introduction…………………………………………………………………………………………… ………3 GNOME 13 KDE………………………………………………………………………………………………………… …………………………………………52 The Battle: Gnome vs. KDE……. ……………………………………………………………………………………………………….…89 XFCE: The Underdog………………………………………………………………………………………………… ……………………….90 Conclusion And Bibliography…………………………………………………………………………………………… ……………….93 1. Desktop environment introduction In graphical computing, a desktop environment (DE) commonly refers to a style of graphical user interface (GUI) that is based on the desktop metaphor which can be seen on most modern personal computers today. Desktop environments are the most popular alternative to the older command-line interface (CLI) which today is generally limited in use to computer professionals. A desktop environment typically consists of icons, windows, toolbars, folders, wallpapers, and desktop widgets. Software which provides a desktop environment might also provide drag and drop functionality and other features which make the desktop metaphor more complete. On the whole, a desktop environment is to be an intuitive way for the user to interact with the computer using concepts which are similar to those used when interacting with the physical world, such as buttons and windows. -Source WIKIPEDIA The term desktop environment did not originally refer to software, and was adopted as a way to describe a particular style of user interface provided by that software.
    [Show full text]
  • Koffice – Irodai Alkalmazás-Család KDE Alapokon (1. Rész)
    Alkalmazások KOffice – irodai alkalmazás-család KDE alapokon (1. rész) Szövegszerkesztés, táblázatok, bemutatók A KOffice a KDE grafikus asztali környezetbe illeszke- – egyenlet-szerkesztés, Kivio – folya- dõ irodai alkalmazás-gyûjtemény. Néhol többet, néhol matábra készítés, Karbon14 – vektor- kevesebbet nyújt mint más hasonló irodai csomagok. grafikus rajz/grafika-készítés, Krita – kép-manipulálás és egyszerû rajzo- A többi hasonló csomag véleményezését mellõzve, lás, Kugar – report/beszámoló készítés. megpróbáljuk bemutatni a KOffice lényeges képessé- geit. A KOffice bemutatójának ezen elsõ részében Szövegszerkesztés – KWord A KWord egy olyan szövegszerkesztõ, a csomag lelkét képezõ elemekre koncentrálok: amely egyrészt minden hétköznapi szövegszerkesztés, táblázatkezelés, bemutató készítés. szövegszerkesztési elvárásnak képes megfelelni, másrészt számos olyan eszközt is tartalmaz, amellyel irodai Ismerkedés környezetbe, a felkínált eszközök sok- alkalmazás esetén lehet szükséges A KOffice egy célzottan KDE környezet rétûsége, a kezelhetõség, esetenként ill. elvárható. alá írt, ennek könyvtárait és felhaszná- akár az egyszerûség is. A választáskor Új dokumentum létrehozásakor az lói felület-elemeit használó, abba illesz- természetesen ugyanúgy tudnunk kell 1. ábrához hasonló dialógus fogad, kedõ irodai alkalmazások gyûjtõneve. az esetleges hiányosságokról, mint az amely a rendelkezésre álló dokumen- © Kiskapu Kft. Minden jog fenntartva Az irodai jelzõ gyakorlatilag azt jelenti, elõnyökrõl, így ezekrõl is igyekszünk tumsablonokat (template)
    [Show full text]
  • KDE, the K Desktop Environment, Is an Open Source Graphical Desktop
    9 KDE KDE, the K Desktop Environment, is an open source graphical desktop environment designed to provide a convenient, consistent, and user-friendly working environment for everyone from beginners to power users. All of the features of X are available, including the traditional xterm command-line interface for those who prefer it, but the graphical interface both unifies and simplifies working with X. Figure 9-1 shows the KDE logo; as you work with KDE, you will become familiar with this logo as the entry point into the KDE menu system. Figure 9-1: KDE logo KDE provides a unified desktop that uses drag-and-drop technology. You drag a file icon to an application icon to start the application or to move it to a folder. Or you can click on a file icon to open it in the appropriate application. You can put folders or files on the desktop for easy access, as well as links to programs that you frequently run—you can then start the program by clicking on the icon. Similarly, you can put a link to a device, such as your floppy drive, or a CD or DVD drive, on the desktop. In addition, KDE provides a web browser, Konqueror, that also serves as the KDE file manager, and provides the underlying technology for both the help facility and the graphical configuration tool known as the Control Center. A tool bar known as the panel sits on the screen, usually along the bottom, and provides a focal point for managing your desktop and running programs.
    [Show full text]