1) Restructuring involves transforming a program to fit current needs rather than just changing external behavior like refactoring does.
2) Software should be habitable and find the right place for everything, so take a critical look at design issues like God classes and feature envy.
3) Common restructuring techniques include splitting God classes, removing middlemen, eliminating duplicate code, and moving behavior closer to data.
Open Data: Barriers, Risks, and OpportunitiesSlim Turki, Dr.
Despite the development of Open Data platforms, the wider deployment of Open Data still faces significant barriers. It requires identifying the obstacles that have prevented e-government bodies either from implementing an Open Data strategy or from ensuring its sustainability.
This paper presents the results of a study carried out between June and November 2012, in which we analyzed three cases of Open Data development through their platforms, in a medium size city (Rennes, France), a large city (Berlin, Germany), and at national level (UK). It aims to draw a clear typology of challenges, risks, limitations and barriers related to Open Data. Indeed the issues and constraints faced by re-users of public data differ from the ones encountered by the public data providers. Through the analysis of the experiences in opening data, we attempt to identify how barriers were overcome and how risks were managed. Beyond passionate debates in favor or against Open Data, we propose to consider the development of an Open Data initiative in terms of risks, contingency actions, and expected opportunities. We therefore present in this paper the risks to Open Data organized in 7 categories: (1) governance, (2) economic issues, (3) licenses and legal frameworks, (4) data characteristics, (5) metadata, (6) access, and (7) skills.
Sébastien Martin 1, Muriel Foulonneau 2, Slim Turki 2, Madjid Ihadjadene 1
1 Université Paris 8, Vincennes-Saint-Denis, France
2 PRC Henri Tudor, Luxembourg, Luxembourg
Open Data: Barriers, Risks, and OpportunitiesSlim Turki, Dr.
Despite the development of Open Data platforms, the wider deployment of Open Data still faces significant barriers. It requires identifying the obstacles that have prevented e-government bodies either from implementing an Open Data strategy or from ensuring its sustainability.
This paper presents the results of a study carried out between June and November 2012, in which we analyzed three cases of Open Data development through their platforms, in a medium size city (Rennes, France), a large city (Berlin, Germany), and at national level (UK). It aims to draw a clear typology of challenges, risks, limitations and barriers related to Open Data. Indeed the issues and constraints faced by re-users of public data differ from the ones encountered by the public data providers. Through the analysis of the experiences in opening data, we attempt to identify how barriers were overcome and how risks were managed. Beyond passionate debates in favor or against Open Data, we propose to consider the development of an Open Data initiative in terms of risks, contingency actions, and expected opportunities. We therefore present in this paper the risks to Open Data organized in 7 categories: (1) governance, (2) economic issues, (3) licenses and legal frameworks, (4) data characteristics, (5) metadata, (6) access, and (7) skills.
Sébastien Martin 1, Muriel Foulonneau 2, Slim Turki 2, Madjid Ihadjadene 1
1 Université Paris 8, Vincennes-Saint-Denis, France
2 PRC Henri Tudor, Luxembourg, Luxembourg
As per Deloitte predictions, more than 50 percentage of all 'computing devices' sold this year will be non-PC (smartphones, tablets, etc.) and 25 percentage of all tablets this year will be purchased by enterprise customers.
While iPad ruling the premium segment, a large number of manufactures are expected to release mid-range and entry-level Android tablets in coming months.
If this trend continues then soon Tablets will be the primary way the users will consume web and enterprise services.
This presentation looks at various possibilities of reinventing web/enterprise applications, pros and cons of various tablet platforms (iOS, Android, QNX, webOS, etc.) and tools/frameworks to build cross platform applications.
Modeling History to Understand Software Evolution with Hismo 2008-03-12Tudor Girba
Over the past three decades, more and more research has been spent on understanding software evolution. However, the approaches developed so far rely on ad-hoc models, or on too specific meta-models, and thus, it is difficult to reuse or compare their results. We argue for the need of an explicit and generic meta-model that recognizes evolution as an explicit phenomenon and models it as a first class entity. Our solution is to encapsulate the evolution in the explicit notion of history as a sequence of versions, and to build a meta-model around these notions called Hismo. To show the usefulness of our meta-model we exercise its different characteristics by building several reverse engineering applications.
Modeling History to Understand Software Evolution With Hismo 2008-02-25 Tudor Girba
Over the past three decades, more and more research has been spent on understanding software evolution. However, the approaches developed so far rely on ad-hoc models, or on too specific meta-models, and thus, it is difficult to reuse or compare their results. We argue for the need of an explicit and generic meta-model that recognizes evolution as an explicit phenomenon and models it as a first class entity. Our solution is to encapsulate the evolution in the explicit notion of history as a sequence of versions, and to build a meta-model around these notions called Hismo. To show the usefulness of our meta-model we exercise its different characteristics by building several reverse engineering applications.
Pragmatic Design Quality Assessment - (Tutorial at ICSE 2008)Tudor Girba
This set of slides was used for the tutorial given by Tudor Girba, Michele Lanza and Radu Marinescu at International Conference on Software Engineering (ICSE) 2008.
As per Deloitte predictions, more than 50 percentage of all 'computing devices' sold this year will be non-PC (smartphones, tablets, etc.) and 25 percentage of all tablets this year will be purchased by enterprise customers.
While iPad ruling the premium segment, a large number of manufactures are expected to release mid-range and entry-level Android tablets in coming months.
If this trend continues then soon Tablets will be the primary way the users will consume web and enterprise services.
This presentation looks at various possibilities of reinventing web/enterprise applications, pros and cons of various tablet platforms (iOS, Android, QNX, webOS, etc.) and tools/frameworks to build cross platform applications.
Modeling History to Understand Software Evolution with Hismo 2008-03-12Tudor Girba
Over the past three decades, more and more research has been spent on understanding software evolution. However, the approaches developed so far rely on ad-hoc models, or on too specific meta-models, and thus, it is difficult to reuse or compare their results. We argue for the need of an explicit and generic meta-model that recognizes evolution as an explicit phenomenon and models it as a first class entity. Our solution is to encapsulate the evolution in the explicit notion of history as a sequence of versions, and to build a meta-model around these notions called Hismo. To show the usefulness of our meta-model we exercise its different characteristics by building several reverse engineering applications.
Modeling History to Understand Software Evolution With Hismo 2008-02-25 Tudor Girba
Over the past three decades, more and more research has been spent on understanding software evolution. However, the approaches developed so far rely on ad-hoc models, or on too specific meta-models, and thus, it is difficult to reuse or compare their results. We argue for the need of an explicit and generic meta-model that recognizes evolution as an explicit phenomenon and models it as a first class entity. Our solution is to encapsulate the evolution in the explicit notion of history as a sequence of versions, and to build a meta-model around these notions called Hismo. To show the usefulness of our meta-model we exercise its different characteristics by building several reverse engineering applications.
Pragmatic Design Quality Assessment - (Tutorial at ICSE 2008)Tudor Girba
This set of slides was used for the tutorial given by Tudor Girba, Michele Lanza and Radu Marinescu at International Conference on Software Engineering (ICSE) 2008.
Understanding software systems is hampered by their sheer size and complexity. Software visualization encodes the data found in these systems into pictures and enables the human eye to interpret it. In this lecture we present the concepts of software visualization and we show several examples of how visualizations can help in understanding software systems.
GT Spotter is a user interface that unifies the search workflow in an IDE. This set of slides was used for a submission at the ESUG 2015 Innovation Awards.
I watched 1800+ TED talks. I watched all those published on ted.com. Why? Because I am a TED addict. And because each of these talks reminds me that storytelling is essential in everything we do.
Facts are important, but facts alone have no value. They have to be consumed to worthwhile. Stories make this happen by getting us involved. This applies to researching novel ways, it applies to creating products, it applies to leading people, it applies to educating kids, and it applies to marriage proposals. Essentially, it applies to anything worth doing.
Storytelling is what makes stories happen. But, storytelling is a skill, and like any skill, it can be learnt.
For example, an easy way to learn is to listen to good examples. Like TED talks. But, there are many ways to learn. And, there are even more ways to apply.
It only takes us to invest in it. Why?
Because storytelling is essential.
Moose: how to solve real problems without reading codeTudor Girba
I use this set of slides for a talk I gave at ESUG 2014.
Abstract:
Moose is a platform for software and data analysis (http://moosetechnology.org). It runs on Pharo and it can help you figure out problems around software systems.
In this talk, I show several real-life examples of how custom tools built on top of Moose helped solve concrete problems. The examples vary both in scope and in the kind of problems. For example, we talk about how we fixed a caching problem in a Java system by analyzing logs, or how we fixed a Morphic problem by means of visualization and interaction. Even if these problems are so different, all of them were solvable with one uniform set of programmable tools.
That is the power of Moose, and it is now at the fingertips of any Pharo programmer.
We cannot continue to let systems loose in the wild without any concern for how we will deal with them at a later time. Two decades ago, Richard Gabriel coined the idea of software habitability. Indeed, given that engineers spend a significant part of their active life inside software systems, it is desirable for that system to be suitable for humans to live there.
We go further and introduce the concept of software environmentalism based on a simple principle: Engineers have the right to build upon assessable systems and have the responsibility of producing assessable systems.
The emergent nature of software systemsTudor Girba
This slideshow offers an argument for how the structure of a software system has an inherently emergent nature.
More information can be found at: http://humane-assessment.com
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
7. Refactoring is a disciplined
technique for restructuring an
existing body of code, altering its
internal structure without
changing its external behavior
19. A God Class centralizes too much intelligence
Class uses directly more than a
few attributes of other classes
ATFD > FEW
Functional complexity of the
class is very high
AND GodClass
WMC ! VERY HIGH
Class cohesion is low
TCC < ONE THIRD
006
ari nescu 2
L anza, M
24. you do not
Maybe uch it at all
need to to
God Class
in the last version
isGodClass(last)
AND Harmless God Class
Stable throughout
the history
Stability > 90%
4
Ratiu etal, 200
29. Provider2
service2()
Client Intermediary Provider
getProvider() service()
Provider3
service3()
this.intermediary.provider.service();
this.intermediary.provider2.service2();
this.intermediary.provider3.service3();
to str angers
eter : D on’t talk
of Dem
T he Law
30. Code
te Nav igation
E limina Provider2
service2()
Client Intermediary Provider
fullService() service()
Provider3
service3()
this.intermediary.fullService();
2
er etal 200
Demey
31. ge inte rfaces
ad to hu
t: This can le Provider2
Cavea service2()
Client Intermediary Provider
fullService() service()
Provider3
service3()
this.intermediary.fullService();
2
er etal 200
Demey
32. Middl e Man
R emove Provider2
service2()
Client Provider
service()
Provider3
service3()
this.provider.service();
this.provider2.service2();
this.provider3.service3();
Fow ler 1999
33. An Envious Method is more interested
in data from a handful of other classes
Method uses directly more than
a few attributes of other classes
ATFD > FEW
Method uses far more attributes
of other classes than its own
AND Feature Envy
LAA < ONE THIRD
The used quot;foreignquot; attributes
belong to very few other classes
FDP ! FEW
006
ari nescu 2
L anza, M
36. Data Classes are dumb data holders
Interface of class reveals data
rather than offering services
WOC < ONE THIRD
AND Data Class
Class reveals many attributes and is
not complex
006
ari nescu 2
L anza, M
48. Redistribute Transform conditionals
responsibilities to Polymorphism
Eliminate Split up Transform Client ...
Navigation Code God Class Type Checks
Move Behavior Introduce Null Object
Closer to Data