The document discusses forward engineering and reverse engineering. Reverse engineering involves extracting design information from source code through activities like data and processing analysis. This helps understand the internal structure and functionality. Forward engineering applies modern principles to redevelop existing applications, extending their capabilities. It may involve migrating applications to new architectures like client-server or object-oriented models. Reverse engineering provides critical information for both maintenance and reengineering existing software.
Software Development Life Cycle Models | What are Software Process Models ?
Here you are going to know What is Software Development Life Cycle Model or What are Software Process Models?
Software Process Models defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software...
For more knowledge watch full video...
Video URL:
https://youtu.be/3Lxnn0O3xaM
YouTube Channel URL:
https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg
Google+ Page URL:
https://plus.google.com/113458574960966683976/videos?_ga=1.91477722.157526647.1466331425
My Website Link:
http://appsdisaster.blogspot.com/
If you are interested in learning more about topics like this so Please don't forget to like, share, & Subscribe to this channel.
Thanks
Software Process Models | Software Development Process Models | SDLC | Traditional Software Process Models | Waterfall Model Incremental Model | Prototyping Model | Evolutionary Process Model
Software Development Life Cycle Models | What are Software Process Models ?
Here you are going to know What is Software Development Life Cycle Model or What are Software Process Models?
Software Process Models defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software...
For more knowledge watch full video...
Video URL:
https://youtu.be/3Lxnn0O3xaM
YouTube Channel URL:
https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg
Google+ Page URL:
https://plus.google.com/113458574960966683976/videos?_ga=1.91477722.157526647.1466331425
My Website Link:
http://appsdisaster.blogspot.com/
If you are interested in learning more about topics like this so Please don't forget to like, share, & Subscribe to this channel.
Thanks
Software Process Models | Software Development Process Models | SDLC | Traditional Software Process Models | Waterfall Model Incremental Model | Prototyping Model | Evolutionary Process Model
These PPT presentation help to understand waterfall model in SDLC. The Waterfall model is the earliest SDLC approach that was used for software development. There are five steps in the waterfall model.
This is a detail lecture about software re-engineering. To make software more maintainable. This lecture also give detail about software reverse engineering. When to re-engineer and how to re-engineer software.
Describes the basic activities of software engineering - specification, design and implementation, validation and evolution.
Accompanies video:
https://www.youtube.com/watch?v=Z2no7DxDWRI
It is one of the topics of Software Engineering. Formal Approaches to SQA. It contains the information related to formal approaches and necessity of the approach.
** Linux Admin Certification Training: https://www.edureka.co/linux-admin **
This PPT talks about the origin and evolution of different Linux shells and draws a parallel between three of the most basic shells by a demonstration on the terminal. It also debunks a myth on the old "Shell vs Bash" along the way. In conclusion, it gives a little insight on which shells(or its extensions) are used for what purposes to help you choose the shell for yourself to suit your needs.
The Kernel & the Shell
Evolution of the Shell
Sh=bash?
Which Shell is for you?
Shell vs Bash vs Other
Check our complete Linux admin playlist here: https://goo.gl/ZUTGVb
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
software design is very crusial thing to manage therfore software 'software design is very crusial thing to manage therfore software software design is very crusial thing to manage therfore software software design is very crusial thing to manage therfore software
These PPT presentation help to understand waterfall model in SDLC. The Waterfall model is the earliest SDLC approach that was used for software development. There are five steps in the waterfall model.
This is a detail lecture about software re-engineering. To make software more maintainable. This lecture also give detail about software reverse engineering. When to re-engineer and how to re-engineer software.
Describes the basic activities of software engineering - specification, design and implementation, validation and evolution.
Accompanies video:
https://www.youtube.com/watch?v=Z2no7DxDWRI
It is one of the topics of Software Engineering. Formal Approaches to SQA. It contains the information related to formal approaches and necessity of the approach.
** Linux Admin Certification Training: https://www.edureka.co/linux-admin **
This PPT talks about the origin and evolution of different Linux shells and draws a parallel between three of the most basic shells by a demonstration on the terminal. It also debunks a myth on the old "Shell vs Bash" along the way. In conclusion, it gives a little insight on which shells(or its extensions) are used for what purposes to help you choose the shell for yourself to suit your needs.
The Kernel & the Shell
Evolution of the Shell
Sh=bash?
Which Shell is for you?
Shell vs Bash vs Other
Check our complete Linux admin playlist here: https://goo.gl/ZUTGVb
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
software design is very crusial thing to manage therfore software 'software design is very crusial thing to manage therfore software software design is very crusial thing to manage therfore software software design is very crusial thing to manage therfore software
Software Archtecture.
Software design is a process to transform user requirements into some suitable form, which helps the programmer in software coding and implementation.
Software design is the important step in SDLC (Software Design Life Cycle), which moves the concentration from problem domain to solution domain. It tries to specify how to fulfill the requirements mentioned in SRS.
Software design plays an important role in developing software: during software design, software engineers produce various models that form a kind of blueprint of the solution to be implemented
The data design action translates data objects into data structures at the software component level.
Data Design is the first and most important design activity. Here the main issue is to select the appropriate data structure i.e. the data design focuses on the definition of data structures.
Data design is a process of gradual refinement, from the coarse "What data does your application require?" to the precise data structures and processes that provide it. With a good data design, your application's data access is fast, easily maintained, and can gracefully accept future data enhancements.
Software design is a critical phase in the development of any software application, playing a pivotal role in its success and long-term sustainability.
Similar to Reengineering including reverse & forward Engineering (20)
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.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
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
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.
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.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
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.
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.
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.
3. SOFTWARE REENGINEERING:
Reengineering is a rebuilding activity
Consider an analogous activity: the rebuilding of a house
Question??
Consider the following situation. You’ve purchased a house in another state.
You’ve never actually seen the property, but you acquired it at an amazingly low
price, with the warning that it might have to be completely rebuilt. How would you
proceed?
4. Some Important Points:
Before you can start rebuilding, it would seem reasonable to inspect the house.
Before you tear down and rebuild the entire house, be sure that the structure is
weak.
Before you start rebuilding be sure you understand how the original was built.
If you begin to rebuild, use only the most modern, long-lasting materials.
If you decide to rebuild, be disciplined about it. Use practices that will result in
high quality—today and in the future.
7. FORWARDENGINEERING:
The forward engineering process applies software engineering principles,
concepts, and methods to re-create an existing application. In most cases, forward
engineering does not simply create a modern equivalent of an older program.
New user and technology requirements are integrated into the reengineering
effort. The redeveloped program extends the capabilities of the older application.
8. Forward Engineering ……
Forward Engineering for Client-Server Architectures
Forward Engineering for Object-Oriented Architectures
9. Forward Engineering for Client-Server
Architectures
Many mainframe applications have been reengineered to accommodate client-server
architectures (including WebApps). In essence, centralized computing resources (including
software) are distributed among many client platforms.
Application functionality migrates to each client computer.
New GUI interfaces are implemented at the client sites.
Database functions are allocated to the server.
Specialized functionality (e.g., compute-intensive analysis) may remain at the server site.
New communications, security, archiving, and control requirements must be established at
both the client and server sites.
10. Forward Engineering for Object-Oriented
Architectures
Object-oriented software engineering has become the development paradigm of
choice for many software organizations. But what about existing applications that
were developed using conventional methods? In some cases, the answer is to leave
such applications “as is.” In others, older applications must be reengineered so that
they can be easily integrated into large, object-oriented systems.
11. How????
First the existing software is reverse engineered so that:-
Appropriate data Can Be Collected
Functional models Can Be Created
Behavioral models Can Be Created
If the reengineered system extends the functionality
Use Cases
Data Models
CRC modeling (to establish the basis for the definition of classes.)
12. Conti…
For those classes that must be engineered from scratch, it may be possible to reuse algorithms
and data structures from the existing conventional application.
However, these must be redesigned to conform to the object-oriented architecture.
14. REVERS EENGINEERING
How to define:
Reverse engineering is a process that can extract design information from source code
15. REVERSE ENGINEERING over view
Reverse engineering conjures an image of the “magic slot.” You feed a haphazardly
designed, undocumented source file into the slot and out the other end comes
a complete design description (and full documentation) for the computer program
Unfortunately, the magic slot doesn’t exist. Reverse engineering can extract design
information from source code, but the abstraction level, the completeness of the
documentation, the degree to which tools and a human analyst work together, and the
directionality of the process are highly variable
16. Some important points
The abstraction level of a reverse engineering process and the tools used to effect. it refers to the
sophistication of the design information that can be extracted from
source code.
The abstraction level should be as high as possible. That is, the reverse engineering process should be
capable of:
deriving procedural design representations (a low-level abstraction),
program and data structure information(a somewhat higher level of abstraction),
object models,
data and/or control flow models (a relatively high level of abstraction),
Entity relationship models (a high level of abstraction),
As the abstraction level increases, you are provided with information that will allow easier
understanding of the program.
17. Some important points
The completeness of a reverse engineering process refers to the level of detail that is
provided at an abstraction level.
In most cases, the completeness decreases as the abstraction level increases.
For example, given a source code listing, it is relatively easy to develop a complete
procedural design representation. Simple architectural design representations may also be
derived, but it is far more difficult to develop a complete set of UML diagrams or models.
18. Some important points
Completeness improves in direct proportion to the amount of analysis performed by the
person doing reverse engineering.
Interactivity refers to the degree to which the human is “integrated” with automated tools to
create an effective reverse engineering process.
In most cases, as the abstraction level increases, interactivity must increase or completeness
will suffer.
19. Some important points
If the directionality of the reverse engineering process is one-way, all information extracted
from the source code is provided to the software engineer who can then use it during any
maintenance activity.
If directionality is two-way, The information is fed to a reengineering tool that attempts to
restructure or regenerate the old program.
21. Reverse Engineering to Understand Data
Reverse engineering of data occurs at different levels of abstraction and is often the first
reengineering task.
At the program level,
Internal program data structures
must often be reverse engineered as part of an overall reengineering effort.
At the system level,
Global data structures (e.g., files, databases) are often reengineered to accommodate new
database management paradigms (e.g., the move from flat file to relational or object-oriented
database systems).
22. Internal data structures
Reverse engineering techniques for internal program data focus on the definition of classes of
objects.
This is accomplished by examining the program code with the intent of grouping related
program variables.
In many cases,
The data organization within the code identifies abstract data types.
For example,
record structures, files, lists, and other data structures often provide an
initial indicator of classes.
23. Database structure
Regardless of its logical organization and physical structure, a database allows the definition of
data objects and supports some method for establishing relationships among the objects.
Therefore, reengineering one database schema into another requires an understanding of
existing objects and their relationships.
24. Database structure
The following steps may be used to define the existing data model:
Build an initial object model,
Determine candidate keys (the attributes are examined to determine whether they are used to
point to another record or table; those that serve as pointers become candidate keys),
Refine the tentative classes,
Define generalizations,
Discover associations using techniques that are analogous to the CRC
approach.
25. Reverse Engineering to Understand
Processing
Reverse engineering to understand processing begins with an attempt to understand and then
extract procedural abstractions represented by the source code
The overall functionality of the entire application system must be understood before more
detailed reverse engineering work occurs.
Each of the programs that make up the application system represents a functional abstraction at
a high level of detail.
A block diagram, representing the interaction between these functional abstractions, is created.
Each component performs some sub-function and represents a defined procedural abstraction.
In some situations, system, program, and component specifications already exist. When this is
the case, the specifications are reviewed for conformance to existing code.
26. Reverse Engineering User Interfaces
Sophisticated GUIs have become de rigueur for computer-based products and systems of every
type. Therefore, the redevelopment of user interfaces has become one of the most common
types of reengineering activity. But before a user interface can be rebuilt, reverse engineering
should occur.
To fully understand an existing user interface, the structure and behavior of the interface must
be specified. Merlo and his colleagues suggest three basic questions that must be answered as
reverse engineering of the UI commences:
27. Questions by:-Merlo and his colleagues
What are the basic actions (e.g., keystrokes and mouse clicks) that the interface must process?
What is a compact description of the behavioral response of the system to these actions?
What is meant by a “replacement,” or more precisely, what concept of equivalence of interfaces
is relevant here?
28. Answers….
Behavioral modeling notation can provide a means for developing answers to the first two
questions.
Much of the information necessary to create a behavioral model can be obtained by observing
the external manifestation of the existing interface.
But additional information necessary to create the behavioral model must be extracted from the
code.
It is important to note that a replacement GUI may not mirror the old interface exactly (in fact, it
may be radically different).
It is often worthwhile to develop a new interaction metaphor. For example, an old UI requests
that a user provide a scale factor to shrink or magnify a graphical image.
A reengineered GUI might use a slide-bar and mouse to accomplish the same function