Running head: SDLC
1
SDLC
2
SDLC
Sai Rohith Cherukumilli
Mcnair Donell
Wilmington University
SDLC
All software development processes must follow a professional standard in which the standard procedures are used. Some of the major software development processes used include Waterfall Model, Agile Software Development model, Rapid Development Model, and also Prototyping. Each of these SDLC models follow particular conventional standards set by the different organizations (Rossberg, 2014). The purpose of system development life cycle is to ensure that business requirements are. The process of coming up with a system from scratch to the point where it is to be implemented into the business environment or sold out into the market is the software development life cycle, which is series of processes depending on the model chosen by the developer or the system analyst conducting the system development. Software development life cycle regards the professional process of coming up with a system for use within a business environment.
7-Step SDLC Model: Traditional SDLC Model
This is the most basic model majorly used in the market by most system analysts, and it follows a series of seven different systematic steps to be fully completed. The steps range from system planning, system analysis, system design, system development, system testing, system implementation, and system maintenance. These steps are sequential and perform a similar role of driving towards achieving the sole purpose of final system functionality. According to this 7-step model, the first phase of system planning involves identification of the project requirements. These project scopes are then analyzed and proper required operational standards are identified for correct solutions. Part of the analyses conducted include parameters such as cost implications on the business organization, time required to complete the system, as well as hardware and software requirements that will be used. All processes must be followed lest any skip of any of these processes would impact heavily on the given organization or client in this case, since a miscalculation of any form would cost the company or the analyst. In each step, specific activities are carried out to ensure that the final product achieves its functionality as per the client’s requests.
The next phase of software development life cycle is the feasibility study. Ritchie (2012) proposes that the analysis phase requires proper information gathering techniques and definition of constraints that will be used in the system. The phase involves different techniques of acquiring sufficient information before proceeding to building the system, and this information would be in form of data such as the organization’s processing requirements. The information can be gathered using techniques such as interviews or questionnaires, with subjectivity to have maximum information.
After sufficiently acquiring relevant information, the system analyst the ...
Running head SDLC1 SDLC2SDLCSai Rohith Cherukumil.docx
1. Running head: SDLC
1
SDLC
2
SDLC
Sai Rohith Cherukumilli
Mcnair Donell
Wilmington University
SDLC
All software development processes must follow a professional
standard in which the standard procedures are used. Some of the
major software development processes used include Waterfall
Model, Agile Software Development model, Rapid Development
Model, and also Prototyping. Each of these SDLC models
follow particular conventional standards set by the different
organizations (Rossberg, 2014). The purpose of system
development life cycle is to ensure that business requirements
are. The process of coming up with a system from scratch to the
point where it is to be implemented into the business
environment or sold out into the market is the software
development life cycle, which is series of processes depending
on the model chosen by the developer or the system analyst
conducting the system development. Software development life
cycle regards the professional process of coming up with a
system for use within a business environment.
7-Step SDLC Model: Traditional SDLC Model
This is the most basic model majorly used in the market by most
system analysts, and it follows a series of seven different
systematic steps to be fully completed. The steps range from
system planning, system analysis, system design, system
development, system testing, system implementation, and
2. system maintenance. These steps are sequential and perform a
similar role of driving towards achieving the sole purpose of
final system functionality. According to this 7-step model, the
first phase of system planning involves identification of the
project requirements. These project scopes are then analyzed
and proper required operational standards are identified for
correct solutions. Part of the analyses conducted include
parameters such as cost implications on the business
organization, time required to complete the system, as well as
hardware and software requirements that will be used. All
processes must be followed lest any skip of any of these
processes would impact heavily on the given organization or
client in this case, since a miscalculation of any form would
cost the company or the analyst. In each step, specific activities
are carried out to ensure that the final product achieves its
functionality as per the client’s requests.
The next phase of software development life cycle is the
feasibility study. Ritchie (2012) proposes that the analysis
phase requires proper information gathering techniques and
definition of constraints that will be used in the system. The
phase involves different techniques of acquiring sufficient
information before proceeding to building the system, and this
information would be in form of data such as the organization’s
processing requirements. The information can be gathered using
techniques such as interviews or questionnaires, with
subjectivity to have maximum information.
After sufficiently acquiring relevant information, the system
analyst then designs the plan to be used in system development,
and this comes in the manner in which the system would be
developed. A proper system is determined at the design phase,
where each module is incorporated and planned as they would
appear in the actual system. The best design is modular, where
each developer or program would be involved in different
modules in the developmental phase. The development phase is
the involving phase of actual programing, where lines of codes
and commands are written to achieve the system requirements
3. and the entire business requirements.
The next phase after development is a series of tests conducted
on the system before implementing it into the client’s business.
This is to ensure that the system is functional and achieves the
goals set by the client during problem definition phase.
Thorough testing must be conducted on the system to ensure
that it is functional. Once it is asserted that the system meets
the requirements, implementation is done, based on an agreed
changeover strategy, where the company’s information would
not be compromised or lost (Suresh Kute, Seema, Thorat, &
Surabhi Deependra, 2014).
The final step in the 7-step SDLC model is the maintenance
phase, which is a series of documentations and upgrades,
including supportive measures towards mastering and ensuring
complete functionality of the system.
4-Step SDLC
This model involves steps of different builds, with different
steps such as requirement analysis, design and development,
testing, and implementation. Each of these steps can be
developed parallel to each other, and they can be run
consequentially, allowing for a fast functional system. This
four-step software development life cycle is mostly
implemented with Agile SDLC, with quick functional systems
produced within a short period of time.
The initial step of requirement analysis is an involving step that
requires in-depth information about the given organization or
company that requires the system. In this phase, a system
analyst engages various tools and resources in obtaining
sufficient information about the given customer, and the details
required to successfully come up with a new system. This phase
also entails analysis of the problem that the company requires to
meet its objectives. According to the requirement analysis
phase, a system analyst must gather enough facts and problems
to ensure that the system developed would meet all the
challenges and ensure that the clients are satisfied. Moreover,
4. the requirement gathering phase also involves identification of
the tools to be used in the system development, such as the
hardware and software tools to be used in the development
process. Proper identification of the required materials would
form the basis of time and financial scopes, thereby producing
the estimated time and cost budgets for the organization. Should
the advantages of the new system outweigh the cost
implications, the organization would then approve the
development of the system
The next phases in this 4-step SDLC model are interactive and
can be built in parallel, whereby a step can be built before the
previous step is completed. The design development phase is
done as per the client’s constant approvals of the system. Each
build is submitted to the customer for approvals before
continuing to the next phase. This is typical of Agile
Development, which engages the customer and the system
analyst developer at each stage. This kind of interaction
produces a quality dynamic system, and the client can easily
recommend changes and the changes be incorporated during the
design and development phase. According to the functional and
non-functional requirements of the system, an analyst is able to
build a fast working system.
The testing phase is a tedious stage of code debugging and error
identification. All the modules should be operational before
delivering the system to the client for integration or
implementation. Testing can be done in various modes, such as
path testing, white box and black box testing. Each stage calls
for system testing, and after successfully testing and proving
the system functional, the system is implemented into the
client’s system to start operating.
Comparison between the Seven-Step SDLC and the Four-Step
SDLC
The 4-step SDLC produces results faster as compared to the 7-
step SDLC model, since the 4-step SDLC model is interactive
and offers quick feedback to the end user or the client while the
5. 7-step SDLC model is sequential and all the steps must be
completed before releasing the final product. Additionally,
since the 4-step SDCL model is interactive, the user can also
test the system and provide recommendations on the design to
be made, thereby producing a user-approved final product. On
the other hand, the 7-step SDLC model can only be handed over
to the user after all the steps have been completed, and in the
case of user distaste, the entire system would require
reconstruction or restructuring. The user interaction of the
Iterative or 4-step model allows for efficient debugging and
error testing, while the traditional 7-step model is a tedious
process of debugging, where testing is only done after
development of the system (Merkow & Raghavan, 2010).
The dynamism of the 4-step model enables it to be implemented
easily and cheaply, since the changes can easily be made during
the development phase. The traditional 7-step model is costly,
and changes cannot be easily effected during development, as
the steps are sequential in development. The Iterative or 4-step
SDLC approach is easy to track because the system is delivered
in modules, while the traditional 7-step model cannot be easily
tracked or maintained as the system is delivered as whole at
once.
References
Merkow, M. S., & Raghavan, L. (2010). Secure and resilient
software development. Boca Raton, FL: CRC Press/Auerbach
Publications.
Ritchie, P. (2012). Visual Studio 2010 best practices: Learn and
implement recommended practices for the complete software
development life cycle with Visual Studio 2010. Birmingham,
UK: Packt Pub.
Rossberg, J. (2014). Beginning application lifecycle
management.
6. Suresh Kute, Seema, Thorat, & Surabhi Deependra. (2014). A
Review on Various Software Development Life Cycle (SDLC)
Models. IJRCCT.
Question & Answer 150 Words please ANSWER ON THIS
FORM!!!!
Give an example of an opportunity cost that an accountant
might not count as a cost. Why would the accountant ignore this
cost?
Explain the difference between a firm's revenue and its profit.
Which do firms maximize?
Give an example of a government-created monopoly. Is creating
this monopoly necessarily bad public policy? Explain.
How might advertising reduce economic well-being? How might
advertising increase economic well-being?
What is the prisoners' dilemma, and what does it have to do
with oligopoly?
7. Running head: DATABASE BACKUP AND DISASTER
PLANNING
1
DATABASE BACKUP AND DISASTER PLANNING
2
Backups and Disaster Planning
Sai Rohith Cherukumilli
Wilmington University
Backups and Disaster Planning
Introduction
In this age of computer-dependency, data protection is a priority
for most businesses and only few, if any can a total system
failure. It is therefore very critical for any business that is
system controlled to have a database back up to prevent loss of
the primary versions of data or the systems that manage that
data. This paper endeavors to elaborate the concept of data
backup and disaster recovery and also the importance of the
integration of both. Moreover, this paper will also look into the
possible impact of database back up and disaster recovery if
they are not effectively integrated.
Backup
Data backup is the coping of data to a secondary site to ensure
the preservation of data in case of a disaster. Data loss can
occur as a result of computer viruses, hardware failures or even
theft. In this electronic age, data is very valuable. In a business,
data loss may involve loss of critical financial information,
8. customer information and even company data. On the other
hand, it is possible to lose data on a personal computer which
may include personal information, pictures and even music.
Data lost without a backup is very hard to replace. A backup is
therefore used to reconstruct the original database in case it is
lost. Moreover, apart from the main function of data
preservation, a database backup can also be used to improve the
system efficiency (Sorenson & Ritchie, 2014).
Data backup involves the replication of one or more important
data in the original database. It is a complicated process that
determines what data to back up, the method of compression to
use, and how often to even run the backups. Back up process
also involves determining what kind of media is to be stored in
the back ups and also the place to store the backup data for safe
keeping. The above processes need to be done before the data is
sent to the storage place to ensure optimal working of the
backup system (Pokorny, 2013).
Generally, in choosing the type of data to backup, one should
choose any work or data that cannot be easily replaced which
may include emails, word processing documents, databases for
financial data, customer data, emails, music and even pictures.
However, one key rule is not to back up system folders or
programs since programs need to be installed before been run
and system folders can easily be restored from the operating
system installation disc.
Moreover, there are two types of data backups are the logical
backup and the physical backup. Logical backups function as
supplements to physical backups and they comprise logical data
i.e. stored tables and procedures. Comparatively, a physical
back up holds physical data from primary databases such as data
files, control files or redo files that have been archived,
obtained from some recovery manager. All physical data
backups are copies of files storing information to some other
location either on a disc or some other offline location. Physical
backups form the foundation of a robust recovery system while
9. logical backups only serve as a supplement but not a proper
protection against data loss.
Consistency is also a major facet of backups and based on this
criterion, there are consistent and inconsistent backups. In
consistent databases also called cold backup, data files are
stored with all the changes in the database at a specific time in
place. However, in an inconsistent database, there has to be an
abnormal shut down for data files to be made or either the
database file has to be open. While backup is being performed
in an inconsistent database, it is possible for the database to
undergo some changes. It is worth pointing out that if the
database runs 24 hours a day, 7 days a week the only option
available is to perform an inconsistent back up for the entire
database (Shaw & Batch, 2010).
Disaster planning
Disaster recovery entails the procedures and policies established
by an organization to ensure that it continues to function in the
event of human related or natural disaster to the information
systems and technological establishment of an organization.
Disaster recovery plan is intended to restore all the critical
processes within a convenient time frame using the laid down
strategies (Snedaker, 2013).
Disaster recovery planning is a companion of the business
resumption plan. The business resumption plan has two facets
which include the recovery plan for the technological
infrastructure of the business and the business recovery plan
that addresses other issues surrounding the business operation.
The IT recovery plan therefore consists of processes such as
continuation of data, application of communication, networking
infrastructure and hardware. The IT recovery plan is part of the
bigger emergency plan to help businesses overcome threats and
guarantee continuity.
Developing an IT technical disaster recovery process
incorporates a number of processes that includes six steps.
First, the business needs to conduct a business contingency plan
10. and identify the top priorities for the business and secondly, the
business needs to do a risk analysis. Thirdly, the business needs
to perform an impact analysis followed by the fourth step of
developing a businesses recovery and continuity strategy. After
developing the strategy, the business needs to develop a sound
IT continuity plan, create awareness about the plan and also
engage in testing and training. Finally, the business the business
needs to perform a regular maintenance on the disaster recovery
plan (Smith, 2012).
Generally, the controls for disaster recovery can be grouped in
to three categories. First, there are the preventive controls that
ensure that the crisis does not materialize and secondly, there
are detective controls that notice the undesirable event. Thirdly,
there are corrective controls that serve to restore the system to
its normal state after the crisis has happened. It is worth
pointing out that a good disaster recovery plan must embody all
of the three elements and a regular checkup to ensure that all
the elements are intact is important to ensure that the recovery
plan is robust.
The business recovery plan contains several business processes
that are critical for business to run and also includes the
recovery point objectives. The plan also has parameters to
evaluate the fulfillment of the objectives set out. These
parameters are also applied to the IT rescue strategy for the
business. Ordinarily, businesses perform a cost benefit analysis
of the different IT recovery plans to establish the most effective
one. A business can opt to avoid minimum loss of time and
money but invest more in the protection management elements
of its IT infrastructure. Some IT disaster recovery strategy
include: Back up on magnetic tapes and other cost effective
devices, use of UPS and backup generators or even copying data
via private cloud. Also backing data to on-site and offsite disks,
disk protection strategies, and the use of surge protectors are
effective strategies for disaster recovery planning.
In the process to determine business priorities there are four
11. classes of the businesses systems. First, there are the mission-
critical systems, which are paramount to achieving the mission
of the business and can only be performed by computers. An
alternative for manual compatibility hardly exists and this
system has to be restored within 36 hours. Secondly, there are
the critical systems which are important in achieving the
mission of the organization and although they are primarily
done by computers they can be performed manually, though for
a short time. The timeline for the restoration of the critical
business systems is between 36 hours to 5 days. Thirdly, there
is the essential systems which even though performed by
computers, they can be performed manually for an extended
period of time. The timeline for the restoration of essential
systems is 5 days or longer. Lastly, there are the non-critical
systems which are not very essential to achieving the mission of
the business. These tasks can be performed manually and can be
delayed until the damaged system is restored (Phillips, 2015).
Integration of database back up and Disaster recovery
The crux of database back up is to preserve data in case it is
destroyed. On the other hand, the objective of disaster recovery
is to ensure that is to achieve the continuity of the business by
seeing that operations are not interrupted. It is worth pointing
out that, both concepts can be complementary to each other in
the event that the two are not effectively executed since they
overlap extensively i.e. database back up can be used to
determine which data to copy whereas the disaster recovery plan
can provide insights as to the location of the database backup.
Therefore, because of the overlapping nature of the two
processes, and also considering that the effectiveness of the
disaster recovery plan depends on the how efficiency of the
database back up, the business has a whole complete package
for keeping data safe.
Lack of proper preparation that mainly arises from a poor
disaster recovery plan or a faulty back up might result to a lot
of losses or even bring the business to its knees. The
12. consequence of not having a backup is that data is lost
completely in case of disaster while the impact of not having a
disaster recovery program is that the business is crumbled down
by a crisis. Therefore, failure by a business to implement
efficient disaster recovery mechanisms and have a database that
is intact can make it hard for a business to survive a crisis
(Beggan, 2011).
Conclusion
Data back up and disaster recovery converge when the business
experiences a crisis. Therefore, for the business to survive the
crises, both systems have to be robust to ensure the continuity
of the business operations. Both data back up and disaster
recovery are complimentary meaning that the success of one of
them depends on the efficiency of the other. Therefore, it is
prudent to ensure that both systems run efficiently to prevent
losses or even going out of business.
References
Beggan, D. M. (2011). Disaster recovery considerations for
academic institutions. Disaster Prevention and Management: An
International Journal,20(4), 413-422.
Phillips, B. D. (2015). Disaster recovery. CRC press.
Pokorny, J. (2013). NoSQL databases: a step to database
scalability in web environment. International
Shaw, S., & Bach, M. (2010). Introduction. In Pro Oracle
Database 11g RAC on Linux (pp. 1-25). Apress
Smith, G. (2012). Planning for post-disaster recovery: A review
of the United States disaster assistance framework. Island Press.
Snedaker, S. (2013). Business continuity and disaster recovery
planning for IT professionals. Newnes.
Sorenson, E. L., & Ritchie, R. V. (2013). U.S. Patent
Application No. 13/873,451.
Journal of Web Information Systems, 9(1), 69-82.
13. Running Head: HOLISM v. REDUCTIONISM
1
HOLISM v. REDUCTIONISM
2
Holism v. Reductionism
Wilmington University
Sai Rohith Cherukumilli
Holism
Holism primarily refers to the explanation of scientific,
economic, linguistic as well as philosophical ideas as a whole
14. rather than partially in respective parts. This is irrespective of
the idea and aspect that parts of a whole system dictate and
influence the manner in which the whole system operates.
Holism therefore means that a system as a whole is considered,
with respect to greatness, to be greater compared to the sum of
the different parts that constitute it. The origin of the term
holism can be traced to J C Smuts and in the development of the
idea, he argued that it was a representation of universal wholes.
There are two major types of holism and these are
epistemological as well as semantic holism (Wilson, 2008).
Semantic holism is primarily a theory that is rooted in lingual
philosophy. According to semantic holism, the understanding of
a given segment or part of a language is best facilitated through
the creation of a relationship between the part of a language and
a relatively bigger segment. This is key in facilitating the
formulation of a meaning in a sentence to the user. Key
proponents of the concept of semantic holism included Quine
and Frege. Meaning, with respect to the relationship that is
existent between holism and externalism, is determined and
influenced by relations in the setting of the world, especially
with regards to relation to beliefs as well as other words.
Semantic holism has however been criticized for failure to
provide an explanation regarding how communication is
possible between two different individuals capable of using a
different expressions linguistically to mean a similar thing.
Semantic holism has also been criticized for its meaning that
the holistic understanding of a given natural language is key to
understanding an expression in the language, an aspect that
would mean that the learning of language is by large an
impossibility (Mumford, & Anjum, 2011).
Epistemological holism means that in the testing of a theory
that is scientific, the testing cannot be done in isolation. The
testing cannot be done individually because of the dependence
that is not only existent between a theory and others but with
15. the hypotheses as well. Based on epistemological holism,
interpreting what one observes does not only count on evidence
to identify the most appropriate theory. An empirical test is not
adequate enough, according to epistemological holism, to
provide confirmation of a single statement but rather, several
statements are essential to facilitate the confirmation of a
theory (Looijen, 2000).
Holism is evident in many different fields in relatively varying
ways. Holism in agriculture is evident through farming that is
done organically. Scientifically, holism means that the manner
in which a system behaves cannot be in any way predicted
irrespective of there being the likelihood of a huge amount of
data available. With respect to ecology, a holistic approach
involves the inclusion of different components in a respective
area and these components and views are and include biological,
physical and most importantly, physical perspectives. In the
field of medicine, a holistic approach is considered to be the
application of judgement that is intuitive while taking into
account considerations that are socially based and construct.
Neurology which deals with the manner in which the brain
functions explains holism in that the organization of the brain is
based on cortical areas that are relatively distinct and that work
towards facilitating a wide range of operations mentally
(Mumford, & Anjum, 2011).
Reductionism
Reductionism is the opposite of holism and it primarily involves
the simplification of relatively complex things in a bid to
16. facilitate understanding of the complex things. This means the
breakdown of a system into parts and to its respective
components. Reductionism as a philosophical idea is based on
one of the most famous philosophers, Descartes. According to
Descartes, the taking apart of a complex system is key in
facilitating the study of constituent parts of the whole system
and subsequently putting the different parts together, an aspect
that facilitates the perception of the “larger picture”. The
philosophical idea of reductionism is applicable to not only
objects but also, theories, any form of explanation, phenomena
and most importantly, meanings of things.
There are three distinct types of reductionism and these include;
ontological, methodological as well as the reductionism theory.
These types of reductionism can be explained in the following
ways;
Ontological reductionism refers to the perception that reality is
comprised of a given number of entities, the metaphysical
perception and idea regarding reductionism. According to
ontological reductionism, it is possible to reduce any object, a
property or preferably, an event into a single unit. Ontological
reductionism further states and argues that in a relatively
fundamental state, ontological emergence can only be existent
through a comprehensive system analysis. Ontological
reductionism is divided into two and these are token as well as
type ontological reductionism. Token ontological reductionism
is the concept that respective items are in existence in the form
of a total item. On the other hand, type ontological
reductionism, type items exist in the form of total/sum type
item, and more importantly, that an item that is perceivable is
composed of the addition of the different types of items that are
relatively less complex (Pratt, 2010).
Methodological reductionism refers to the argument that is
17. based on science and that states that the reduction of
explanations into the respective components is the most
appropriate scientific strategy. An example of methodological
reductionism is that the boiling point of any given substance is
the best atomic explanation rather than the provision of a
chemical explanation. Methodological reductionism means that
various scientific theories ought to be reduced to singular
theories through a method known as reduction. This way, it
would be relatively easy to gain an understanding of a scientific
theory (Mumford, & Anjum, 2011).
Reductionism of theory
The absorption of one theory by a different theory is referred to
as reductionism of theory. The reduction is facilitated by the
theory that facilitates reductionism possessing much greater
power of explaining key theoretical concepts while the two
theories explain a similar phenomenon. This facilitates a much
better and enhanced explanation of the reduced theory through
the provision of more particulate ideas (Di, 2006).
Reductionism has been applied in a wide range of fields
including physics, chemistry and most important of the areas
where reductionism theory is applied is in classical mechanics.
In the field of science, the theory of reductionism states and
argues that key study areas are founded on relatively small units
of study. In the application of reductionism, failure to adhere to
proper instructions and inappropriateness is believed to be a
root cause and source of inhibited understanding of systems that
are relatively complex (Wilson, 2008).
18. Compare and Contrast Reductionism and Holism
Reductionism and holism are similar in various ways and differ
with respect to several perspectives. The following are the
similarities and differences between the two philosophical
concepts;
A key difference between reductionism and holism is that while
reductionism recommends the use of a single factor in to
facilitate understanding of the relatively complicated nature of
human behavior, holism recommends that behavioral study be
done through the study of the whole. This is one of the greatest
differences between the two with the supporters of either
arguing in support of either factions as being the most effective
in facilitating the study and subsequent understanding of
behavior.
The two are also different in that reductionism tries to provide
an explanation of behavior on the basis of influences that are
internal. This is exemplified by reductionism trial to explain
behavior that is considered to be criminal on the basis of the
genetic makeup. Holism is different in that the explanation of
human behavior is provided based on the influences of the
environment as well as the people that an individual interact
with. This way, holism explain the reason behind behavioral
variation in different contexts and situations (Looijen, 2000).
The two philosophical approaches are similar in that despite the
fact that they differ in the manner in which they try to facilitate
19. understanding of systems, the key and central goal of both is to
facilitate comprehensive as well as effective understanding of
systems. This is exemplified in that holism is more or less
complemented by reductionism. This is because, understanding
the respective components of a system is believed to be ideal in
facilitating an understanding of the whole system, which
essentially is holism (Wilson, 2008).
References
Di, S. V. (2006). Holism and complementary medicine: Origins
and principles. Crows Nest, NSW: Allen & Unwin.
Looijen, R. C. (2000). Holism and reductionism in biology and
ecology: The mutual dependence of higher and lower level
research programmes. Dordrecht: Kluwer Academic Publishers.
Mumford, S., & Anjum, R. L. (2011). Reductionism, Holism and
Emergence. Getting Causes from Powers, 86-105.
doi:10.1093/acprof:oso/9780199695614.003.0004
Pratt, J. (2010). Holism and Reductionism - A Daoist
Explanation. SSRN Electronic Journal.
doi:10.2139/ssrn.2629450
Wilson, D. S. (2008). Holism and Reductionism in Evolutionary
Ecology. Oikos, 53(2), 269. doi:10.2307/3566073