In Software Development Companies, Information security must be managed in a manner similar to
any other major system implemented in an organization. The one approach for
implementing an information security system in an organization with little or
no formal security in place is to use a variation of the systems development
life cycle (SDLC): the security systems development life cycle (SecSDLC). Also
to understand a security systems development life cycle, we must first
understand the basics of the method upon which it is based.
Methodology and Phases
The systems development life cycle (SDLC) is a methodology
for the design and implementation of an information system. A methodology is a
formal approach to solving a problem by means of a structured sequence of
procedures. Also using a methodology ensures a rigorous process with a clearly
defined goal and increases the probability of success. Once a methodology has
been adopted, the key milestones are established and a team of individuals is
selected and made accountable for accomplishing the project goals. The
traditional SDLC consists of six general phases. If you have taken a system
analysis and design course, you may have been exposed to a model consisting of
a different number of phases. The SDLC models range from having three to twelve
phases, all of which have been mapped into the six presented here. At the end
of each phase comes a structured review or reality check, during which the team
determines if the project should be continued, discontinued, outsourced,
postponed, or returned to an earlier phase depending on whether the project is
proceeding as expected and on the need for additional expertise, organizational
knowledge, or other resources. Once the system is implemented, it is maintained
(and modified) over the remainder of its operational life. Any information
systems implementation may have multiple iterations as the cycle is repeated
over time. Only by means of constant examination and renewal can any system,
especially an information security program, perform up to expectations in the
constantly changing environment in which it is placed. In Software Development Companies, the following sections
describe each phase of the traditional SDLC.20
1. Investigation
The first phase, investigation, is the most important. What
problem is the system being developed to solve? The investigation phase begins
with an examination of the event or plan that initiates the process. During the
investigation phase, the objectives, constraints, and scope of the project are
specified. A preliminary cost-benefit analysis evaluates the perceived benefits
and the appropriate levels of cost for those benefits. At the conclusion of
this phase, and at every phase following, a feasibility analysis assesses the
economic, technical, and behavioral feasibilities of the process and ensures
that implementation is worth the organization’s time and effort.
2. Analysis
The analysis phase begins with the information gained during
the investigation phase. This phase consists primarily of assessments of the
organization, its current systems, and its capability to support the proposed
systems. Analysts begin by determining what the new system is expected to do
and how it will interact with existing systems. This phase ends with the
documentation of the findings and an update of the feasibility analysis.
3. Logical Design
In the logical design phase, the information gained from the
analysis phase is used to begin creating a systems solution for a business
problem. In any systems solution, it is imperative that the first and driving
factor is the business need. Based on the business need, applications are
selected to provide needed services, and then data support and structures
capable of providing the needed inputs are chosen. Finally, based on all of the
above, specific technologies to implement the physical solution are delineated.
The logical design is, therefore, the blueprint for the desired solution. The
logical design is implementation independent, meaning that it contains no
reference to specific technologies, vendors, or products. It addresses,
instead, how the proposed system will solve the problem at hand. In this stage,
analysts generate a number of alternative solutions, each with corresponding
strengths and weaknesses, and costs and benefits, allowing for a general
comparison of available options. At the end of this phase, another feasibility
analysis is performed.
4. Physical Design
During the physical design phase, specific technologies are
selected to support the alternatives identified and evaluated in the logical
design. The selected components are evaluated based on a make-or-buy decision
(develop the components in-house or purchase them from a vendor). Final designs
integrate various components and technologies. After yet another feasibility
analysis, the entire solution is presented to the organizational management for
approval.
5. Implementation
In the implementation phase, any needed software is created.
Components are ordered, received, and tested. Afterward, users are trained and
supporting documentation created. Once all components are tested individually,
they are installed and tested as a system. Again a feasibility analysis is
prepared, and the sponsors are then presented with the system for a performance
review and acceptance test.
6. Maintenance and Change
The maintenance and change phase is the longest and most
expensive phase of the process. This phase consists of the tasks necessary to
support and modify the system for the remainder of its useful life cycle. Even
though formal development may conclude during this phase, the life cycle of the
project continues until it is determined that the process should begin again
from the investigation phase. At periodic points, the system is tested for
compliance, and the feasibility of continuance versus discontinuance is
evaluated. Upgrades, updates, and patches are managed. As the needs of the
organization change, the systems that support the organization must also
change. It is imperative that those who manage the systems, as well as those
who support them, continually monitor the effectiveness of the systems in
relation to the organization’s environment. When a current system can no longer
support the evolving mission of the organization, the project is terminated and
a new project is implemented.
7. Securing the SDLC
In Software Development Companies, Each of the phases of the SDLC should include consideration
of the security of the system being assembled as well as the information it
uses. Whether the system is custom and built from scratch, is purchased and
then customized, or is commercial off-the-shelf software (COTS), the
implementing organization is responsible for ensuring it is used securely. This
means that each implementation of a system is secure and does not risk
compromising the confidentiality, integrity, and availability of the
organization’s information assets. The following section, adapted from NIST
Special Publication 800-64, rev. 1, provides an overview of the security
considerations for each phase of the SDLC.
nice informative post. Thanks you for sharing.
ReplyDeleteWe are an experienced team in one of the Best software company and product specialist for software development and implementation.
NodeJS Development
Web development