Networking Design And Development
Every system developed or task that had been carried out needs a framework or method to follow as guideline in order to make sure of success implementation. Guideline of structured framework can help to manage and plan projects, to reduce the difficulties like failure to meet requirements, low quality, high operation cost, not meeting the estimated time, inefficient work, and expensive maintenance. In networking, the entire concept of designing a network is simplified through the use of planned or structured design methodologies. Structured design methodology is a set of distinct steps that help to guarantee that all of the essential tasks in the network design process are accomplished. In this presentation report, we were concentrating on three major topics on development and implementation framework; System development Life cycle (SDLC), PDIOO (acronym of Planning, Design, Implementation, Operation and Optimization) and PPDIOO (enhanced version of PDIOO).
System Development Life Cycle (SDLC)
The Systems Development Life Cycle (SDLC) is framework that describes the activities executed at each stage of a software development project. It is also a theoretical model used in project administration that describes the phases involved in an information system development project from an initial possibility study through maintenance of the completed application.
System life cycle models describe phases of the system cycle, Figure 1 and the order in which those phases are executed. There are different phases for SDLC and the following are the main phases of it.
Figure SDLC Cycle
Phases of SDLC model
Project planning phase
During this phase, resources will be acknowledged and cost will be estimated in order to succeed project objectives. Project planning is process of defining methods, scope, length and work for completion of a project.
Requirements Definition phase
Under this phase, the project’s goal is determined and the functions are brought to focus. Gathering of information and analysis of the user’s requirement is also done in this phase.
A sample structure of the entire project is created in this phase and all necessary data are gathered. This is where everything is put together and the actual design of the system is done. This is also where documentation such as the Maintenance Manual, Operations Manual, and Training Manual begin. This is also where some of the flaws in the original planning may appear and require some adjustment. Again, there is documentation and approval.
The system is built. The software, hardware, and testing occur during the Development Stage. This is also the phase where the bugs are worked out of the system.
Integration and Test phase
This is the formal integration and testing of the system. Testing has been done on the development phase, but in the Integration and Testing Phase it is a formal, documented testing procedure, not only to assure that the system performs as designed, but testing the roll-out of the system.
Installation and Acceptance phase
After completing the testing phase, the completed system should be installed at the end user sites. Users will accept the system after all errors and bugs captured during the previous phases have been modified and repaired.
There are various SDLC methodologies, Figure 2, have been developed to guide the processes involved including the waterfall model (the original SDLC method), rapid application development (RAD), prototype model, spiral model and many other models. Some models work better for specific types of projects, but in the final analysis, the most important factor for the success of a project may be how closely particular plan was followed. The image down shows some of SDLC models:
Figure SDLC discussed in this report
Waterfall Model is the most common and classic of life cycle models, also referred to as a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model, Figure 3, each phase must be completed in its entirety before the next phase can begin. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. (Priya, 2008)
Figure SDLC, Waterfall Model
Phases of Process
Requirements – defines needed information, function, behaviour, performance and interfaces.
Design – data structures, software architecture, interface representations, algorithmic details.
Implementation – source code, database, user documentation, testing.
Verification (testing): Brings all the pieces together into a special testing environment, then checks for errors and bugs.
Maintenance – System changed to reflect changing conditions.
This model is very simple and easy to use and easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process. Phases are processed and completed one at a time. It works well for smaller projects where requirements are very well understood. (Priya, 2008)
If there any adjustment scope during the life cycle can kill a project progress. No working software/product is produced until late during the life cycle. It has high amounts of risk and uncertainty. As far as the development concern, it is a poor model for complex and object-oriented projects. It is not suitable for long and on-going projects where requirements are at a moderate to high risk of changing.
When to use the Waterfall Model
It is going to be used when project requests are very well known and understandable. The product definition is stable and the technology is understood
Figure SDLC, Prototype Model
Figure 4 shows a Prototype Model. In this model, once the requirement analysis is done and the design for a prototype is made, the development process gets started. Once the prototype is created, it is given to the user for evaluation. The customer tests the package and gives his feed back to the developer who refines the product according to the customer’s exact expectation.
Customers can see the system requirements as they are being gathered. The developers can learn from the customers. It proper to a more accurate end product and there will no unexpected requirements accommodated where it allows for flexible design and development.
It has bad status for “quick-and-dirty” methods. The customer may want the prototype delivered. At the end of it, the process may continue forever.
When to use the prototype Model
When requirements are unstable or have to be clarified. And other thing, where project has to deal with development of user interfaces when it needs a short-lived demonstrations with information for the analysis and design portions of object-oriented development required to be presented.
Spiral Cycle Model
In the spiral cycle model, Figure 5, the concept is more on risk analysis. The spiral model has four phases which are Planning, Risk Analysis, Engineering and Evaluation. Requirements are gathered during the planning phase. In the risk analysis phase, a process is undertaken to identify risk and alternate solutions. A prototype is produced at the end of the risk analysis phase.
Figure SDLC, Spiral Cycle Model
It has a high amount of risk analysis which that kind of information is very useful to the project. Good for huge and mission-critical projects. Lastly, in software development, the product will be created early in the software life cycle.
It can be an overpriced model to use and risk analysis requires highly specific expertise. The Project’s success is highly hooked on on the risk analysis phase and it doesn’t work well for smaller projects.
When to use the Spiral Model
When costs and risk evaluation is important and it is good for medium to high-risk projects. Spiral model is the best when users are unsure of their needs and requirements are complex. If dealing with a new product line, it significant changes are expected and the model ready to deal with it.
The incremental model is a natural approach to the waterfall model. Figure 6 shows multiple development cycles take place, making the life cycle a “multi-waterfall” cycle. Cycles are divided up into smaller, more easily managed iterations. Each iteration passes through the requirements, design, implementation and testing phases.
Figure SDLC, Incremental Model
It generates working software quickly and early during the software life cycle. It provides more flexible – less costly to change scope and requirements. And it is easier to test and debug during a smaller iteration. Furthermore, it is easier to manage risk because risky pieces are identified and handled during its iteration.
Customer can respond to each build with lowers initial delivery cost. Initial product delivery is faster but the customers will get important functionality early.
At last the risk of changing requirements is reduced.
It requires a good planning and design and early definition of a complete and fully functional system to allow for the definition of increments. Sometimes, well-defined module interfaces are required (some will be developed long before others). Not forgotten, total cost of the complete system is not lower.
When to use the Incremental Model
Risk, funding, schedule, program complexity, or need for early realization of benefits. Most of the requirements are known up-front but are expected to evolve over time. This model needs to get basic functionality to the market early. It suitable on projects which have lengthy development schedules or a project with a new technology
PDIOO Network Life Cycle
Cisco uses a methodology known as PDIOO as part of designing networks ( Lamml & Barkl, 2003). PDIOO is an acronym that describes some of the major elements in a network design process, namely:
Figure PDIOO (Oppenheimer, 2004)
But then cisco come out with a new enhanced concept called PPDIOO where the first ‘P’ refers to PREPARE. In this paper, part of the phases in PDIOO is going to be explained in PPDIOO phases.
PPDIOO Network Life Cycle
PPDIOO is the improved PDIOO methodology composed by six (6) phases closely related to PDIOO rather than has one additional phase that is required by real life business of a company.
Figure PDIOO (Oppenheimer, 2004)
PPDIOO service lifecycle allows network design engineers and network planners to better manage large network installations. Cisco created this methodology to allow network engineers to better plan and meet business objectives.
Why PPDIOO Model?
The methodology created to reduce the total cost of network ownership while the company or organization adds some new technologies or upgrade the existing network (Semperboni, 2009).
Increasing availability, Downtime can badly affect income and can reduce profitability through costs associated with the network staff having to troubleshoot and function in a reactive mode (Semperboni, 2009). To surge availability request to carefully planned redundancy, sound security, and scalability and also requires carefulness throughout the network lifecycle.
To Improving business agility can be described as an organization’s ability to respond rapidly to changing business or market conditions and adapt to the changing demands of its customers and the business environment
Access speed: Speeding access to applications and services helps enable business agility.
Availability targets are influenced by business goals. Targets are established early in the network lifecycle and achieved throughout it: a smooth, well-planned deployment helps minimize risk of downtime, and sound planning for day-to-day operations helps speed problem resolution. (Semperboni, 2009)
Life Cycle Phases:
The network design methodology composed by six phases (Cisco, 2008), Figure 9, closely related: prepare, plan, design, implement, operate, optimize. In this section we give you more details of each of the phases.
Figure PPDIOO phases
Business agility starts with preparation. The preparation phase is the discovery process to understand the business requirements gathering to build a business case and financial motivation to support the implementation of new technology (CiscoSystem, 2004). By expecting future needs and developing both a technology strategy and a high-level architecture to meet those needs (Cisco, 2008).
In this phase we should know about:
Business requirement development
Consider and document the business requirements for end-user service delivery that support the technology investment.
Business requirements development can help to:
Make sound financial decisions by developing a business case that establishes the financial justification for making a technology change
Establish a basis for developing a technology strategy
Technology strategy development
Analyse your business and service requirements and identify the Cisco advanced technologies that support them. Document a technology strategy.
Technology strategy development can help to:
Improve efficiency throughout the solution lifecycle by aligning your technology strategy to your business goals
Meet end-user service-delivery requirements by identifying which advanced technologies can create a solution that can support them
Operation Technology strategy development
Create an operational strategy that defines the people, processes, and tools required to support the operations and management of the technology solution.
Operations technology development can help to:
Achieve business goals by aligning your operations strategy with your business and technical requirements
Reduce on-going network operations costs by identifying the operational requirements for supporting the operation and management of the technology solution
High Level Design Development
Create a high-level conceptual architecture of your proposed system that addresses business and technical requirements and creates the foundation for system deployment. Include specifications for availability, capacity, and security to meet service requirements. High-level design development can help you to reduce rework during the design phase by identifying and validating required technologies and features early in the solution lifecycle.
Business Case Development
Prepare and present an executive-level business case that details the business and financial justification for migrating to the new technology solution. Include a detailed financial analysis, including capital and operational expenses, cost-to-benefit analysis, and projected return on investment. Business case development can help in make sound financial decisions by demonstrating:
That the technology investment supports your business goals and high-level design
The cost-to-benefit ratios of both adopting and not adopting the proposed solution
Return on investment based on multiple investment criteria such as net payback period and internal rate of return
Develop and conduct a proof-of-concept test to validate the high-level design. Identify design enhancements necessary to meet business and technical requirements. Proof of concept testing can help you reduce costly rework and project delays by identifying design enhancements necessary to meet your business and technical requirements before proceeding to detailed design
The network requirements are what you need to identify in the planning phase. (CiscoSystem, 2004). Important considerations for this phase include determining exactly where you plan to install the network, its objectives, and the types of services it will provide and to whom, etc. in this phase the existing network tests its network for security implementation or security vulnerability to ensure it will be able to assist with intruders and outside networks . In this phase the most important things is to ensure that the existing environment is carefully analysed before going to design phase.
Development Project Management
Provide for one or more project managers or program managers to manage the planning, design, and implementation of your deployment project. Develop and implement a project management plan, manage information and resources, and control change.
Deployment project management can help to:
Reduce risks by using proven project management methodologies and risk mitigation strategies
Resolve problems quickly by managing information, facilitating collaboration, and escalating issues promptly and effectively
Keep the project on track by managing and controlling change throughout the project lifecycle.
System Readiness Assessment
Prepare for your technology solution deployment by assessing the readiness of your existing system infrastructure to support a new technology. Analyse the physical and logical configuration of the network, systems availability, and systems capacity, quality of service, systems resiliency, security, and integration with existing platforms. Identify network and application modifications that should be made prior to implementation.
Systems readiness assessment can help to:
Improve the return on investment and speed migration by identifying and planning for necessary infrastructure changes as well as resources
Reduce deployment costs by analysing gaps early in the planning process to determine what is needed to support the system
Improve productivity by identifying and resolving gaps in service-level requirements associated with availability, capacity, and security specifications.
Site Readiness Assessment
Prepare for your technology solution deployment with a comprehensive site assessment that evaluates the readiness of your current facilities infrastructure to support the new technology. Identify any physical, environmental, and electrical modifications that should be made prior to implementation.
Site readiness assessment can help to:
Reduce deployment costs and delays by identifying facilities preparation requirements early in the planning process
Reduce the risk of downtime caused by facilities-related problems.
Operation Readiness Assessment
Prepare for your technology solution deployment with a comprehensive operations assessment that evaluates the readiness of your current operations and network management infrastructure to support the new technology. Identify any changes to people, processes, and tools that should be made prior to implementation.
Operations readiness assessment can help in:
Effectively plan and budget for technology expenditures by gauging operational preparedness and ability to support current and planned network technologies and services
Avoid downtime by enhancing readiness to operate and manage technologies and services
Reduce network operations costs by identifying the operational changes required to support the operation and management of the technology solution
Improve IT staff productivity by identifying high-demand repeatable tasks that can be automated.
Protect your network from inside and outside intruders by assessing system, application, and network device vulnerabilities. Safely simulate activities typical of attacks on your network, without affecting your network. Recommend changes that should be made to the network to help prevent security breaches and reduce risk of attack.
Security vulnerability assessment can help to:
Mitigate network security threats by limiting their ability to do damage
Reduce the downtime, business disruption, and costs associated with viruses and worms, information theft, application abuse, and denial-of-service attacks
Improve the overall security state of the corporate “trusted” network and the systems and information within it by identifying changes to address vulnerabilities
Prevent attacks from external sources and mistakes made by trusted insiders from resulting in security breaches
Support regulatory compliance by demonstrating that adequate security measures are in place to protect sensitive information assets.
In this phase, the network designers should make a design aligned with business goals and technical requirements can improve network performance while supporting high availability, reliability, security, and scalability, according to requirements gathered during the Plan phase (CiscoSystem, 2004). Also by developing detailed design is important to reduce the risk, delay and the total cost of network operation. The design phase can also guide and accelerate successful implementation with a plan to stage, configure, test, and validate network operations.
Prepare for a new technology deployment by planning and developing custom applications for the technology to support feature and functionality requirements, and to enable the applications to integrate with your existing network infrastructure.
Applications development can help to:
Reduce risk when integrating a new technology system into your existing infrastructure by using a proven applications development methodology
Speed migration by providing a detailed development, integration, and test plan that addresses such elements as customized scripts, reporting, and database design
Detailed design development
Develop an in-depth, implementation-ready detailed design for your new system. Derive the design from availability, capacity, reliability, security, scalability, and performance specifications that align with your business and technical requirements.
Detailed design development can help to:
Reduce expensive, time-consuming network redesign by creating a well-engineered design early in the network lifecycle
Increase system or solution performance, resiliency, and availability by specifying the correct set of hardware, software releases, and hardware and software features and functionality
Improve deployment team and operations staff proficiency by providing continuous knowledge exchange throughout design development
Accelerate adoption of new technologies and improve return on investment by integrating your technical requirements and business goals into a detailed design.
Staging plan development
Develop a step-by-step plan for staging the configuration, implementation, and connectivity testing of the technology system or solution in a controlled environment that emulates, but does not affect, your production network.
Staging plan development can help to:
Reduce delays and other problems during staging with a detailed plan that addresses staging requirements including physical, electrical, and environmental conditions on the site; network hardware and software; and third-party devices
Accelerate staging plan creation by using industry leading practices and staging expertise
Operation Implement Plan Development
Develop an operations implementation plan detailing the tasks needed to deploy and commission the operations and network management system for the technology to be deployed. Include scheduling of priorities, resources, and responsibilities.
Operations implementation plan development can help to:
Reduce delays, disruption, and other problems by accurately estimating the time and resources required to implement new operations and network management systems
Improve efficiency during the operations implementation phase by creating a plan that covers staging, tools, processes, task owners, configuration, testing, documentation, system user acceptance, and success criteria
Staff Plan development
Prepare your staff for a new technology deployment by using conventional instructional design methodologies to create a staff plan. Determine the technical activities and tasks required to support the system, measure the ability of functional groups to perform those tasks, and develop a curriculum plan to address skill and knowledge gaps.
Staff plan development can help to:
Reduce on-going operating costs by identifying proficiency issues that could affect staff productivity and performance
Improve training effectiveness by comparing staff performance to industry leading practices and your standard operating procedures and defining a role-based curriculum to close any gaps in skill or knowledge
This phase begins, after the Design phase has been approved. In this phase activities are performed to ensure that the network is designed according to the design specifications without any difficulties or weakness. This phase the network will be implemented to ensure that the new infrastructure meet all the business requirements by installing, configuring, integrating, testing, and commissioning all systems
In this staging process, it will stage and test your new technology system in a controlled environment that does not affect your live network, as outlined in your predefined staging plan. Staging can help to improve efficiency and reduce costly delays and rework during implementation by identifying and resolving issues.
Install, configure, and integrate the new technology system as specified in your implementation plan. Complete predefined test cases. And need to document all the components, devices, and applications used.
Implementation can help to:
Successfully deploy the new technology system by following an in-depth, detailed implementation process based on leading practices
Realize business and technical goals of the new system by implementing it in accordance with recommendations made in the earlier phases of the lifecycle.
Install, configure, test, and commission the operations and network management system for the technology and deploying in accordance with operations implementation plan. Operations implementation can help to reduce network operating expenses by improving the efficiency of operations processes and tools.
Migration can help you to reduce risks such as downtime, delays, and the need for rework by following a thorough, detailed implementation process based on leading practices.
System Acceptance testing
Perform systems-level acceptance testing: objectively measure operability and functionality of the system you are deploying to verify that it meets your business and technical requirements and is ready for production. Document the test results. Systems acceptance testing can help you to speed migration; accelerate return on investment; and reduce unnecessary risk, including disruption, delays, rework, and other problems. These benefits are achieved by demonstrating that your newly deployed system or solution meets the operational, functional, and interface requirements defined in the system acceptance test plan.
Business Readiness testing
Test the readiness of existing network to support end-to-end business processes, including operations, management, and security processes, as outlined in business readiness test plan. Business readiness testing can help to reduce risk of downtime by testing your production network’s operations and management business processes.
Staff training concerning managing or implementing development plan for worker’s skill and competency in the organisation. It is includes scheduling classes, creating the enrolment process, providing course materials, and managing training vendors.
Staff training can help to:
Increase overall productivity and reduce on-going operating costs through training designed to close the skill gaps that were identified in developing your staff plan Reduce downtime through expedited case handling and reduced mean time to resolution through training targeted to improve operational knowledge
Improve training efficiency and effectiveness by applying the ideal combination of training methods and tools as needed to close skill gaps.
This phase is the last test of the effectiveness of the design before going to last phase. During this phase the operation team monitors the health of the network to improve service quality; reduce disruptions; mitigate outages; and maintain high availability, reliability, and security. This phase could be the longest phase in the network development life cycle to ensure that the infrastructure is well designed during all previous phases.
In this task, it will monitor, manage, and report on service-level metrics and abnormal events or trends that might adversely affect the availability, capacity, performance, and security of your system.
Systems monitoring can help to:
Improve service quality and reduce disruptions and outages by proactively monitoring system health
Remediate system availability issues by tracking and assessing capacity, performance, utilization, and other service-level metrics.
Manage and resolve real-time incidents with system components using an incident management process that creates and maintains a report of the status of an incident from isolation to closure.
Incident management can help to:
Restore normal service operation quickly by providing an in-depth incident management process that includes case management, investigation, and diagnosis; hardware and software replacement or updates; and service restoration, testing, and verification
Reduce incident rates and increase network and/or application availability, reliability, and stability by providing software updates and upgrades as an on-going part of your network operations
Manage and resolve recurring incidents using an in-depth problem management process that analyses incident trends to identify patterns and systemic conditions.
Problem management can help you to reduce the risk of downtime and increase network and/or application availability, reliability, and stability. It delivers these benefits by analysing the root cause of recurring incidents and rectifying underlying problems through hardware and software support.
Standardize methods and procedures for authorizing, documenting, and performing system changes.
Change management can help to:
Reduce operating costs and limit change-related incidents by providing a consistent and efficient change management process
Improve operations staff and end-user productivity by using a well-defined process for planning, communicating, and scheduling changes and conducting post change evaluations.
Obtain an accurate, real-time logical model of your system hardware, software, and applications by using an efficient, reliable process for tracking components and component interrelationships. Identify, control, monitor, maintain, change, and verify versions of individual and interrelated system components.
Configuration management can help to:
Improve operational efficiency by maintaining an accurate, reliable system configuration database and managing configuration changes through an orderly, effective process
Make critical operational decisions effectively as your business requirements change by providing an accurate logical model of your technology assets.
Facilitate the efficient delivery of networking products and services by hardware and software vendors through management of fulfilment, assurance, and financial processes.
Supplier management can help to:
Increase operational productivity by aligning supplier processes and tools with your organizational requirements
Achieve a more reliable and consistent delivery process for hardware and software procurement
Improve supplier management practices so that suppliers meet your performance standards.
Protect the confidentiality, integrity, and availability of information on the network using a thorough security administration process. Manage security incidents, identify and address vulnerabilities, and secure the delivery of content.
Security administration can help to:
Reduce the risk of network disruptions by proactively identifying security breaches and defining a remediation plan
Protect information against unauthorized access and use by managing security incidents and managing passwords, rights, permissions, and policies
Improve the accuracy, completeness, and timeliness of information on the network by securing content delivery
Access information on the network at any designated time in accordance with access policies
A good corporate thinking will never stop looking for a reasonable advantage. That is why continuous enhancement is a mainstay of the network lifecycle. In the optimize phase, it is continually looking for ways to realise operational excellence through improved performance, expanded services, and periodic reassessments of network value. As an organization looks to optimize its network and prepares to adapt to changing needs, the lifecycle begins anew-continually evolving the network and improving results.
The optimize phase is based on practical network management which recognises and resolves problems before network disruptions arise. The optimize phase may lead to a network redesign if too many problems arise due to design errors or as network performance degrades over time as actual use and capabilities diverge. Redesign may also be required when requirements change significantly.
Business case alignment
In the Business case alignment needs to evaluate on how successfully the system or solution is, in meeting the requirements established in executive-level business case. It also analyse data on operational and capital costs, return on investment, and other related factors. Business case alignment can help to realize technology investment goals by making recommendations to remediate gaps in the performance of in the system and solution relative to objectives and requirements.
Increase the performance, availability, capacity, and security in new system or way out by assessing system performance and software configurations and recommending changes. Technology assessment can help to improve network performance, availability, capacity, and security by assessing a particular system and commending improvements.
Increase the performance and functionality of the procedures and network management environment assistant your new system or solution by assessing it and recommending changes. Operations assessment can help you to reduce system operating expenses and improve system operational productivity, performance, and functionality by assessing your operations and network management environment and recommending changes.
In security assessment, it will assess network security system performance continuously. It will measure on security systems for trends and exceptions related to security policy and procedures and user access. One body called Audit intrusion-detection will search for any intrusion and if any they will make resolution and recommendations for improvement.
Security assessment can help to:
Improve the security of your company’s information assets by measuring security system performance for trends and exceptions related to your security policy and procedures
Improve your company’s ability to mitigate intrusion attempts by regularly auditing intrusion-detection data to reveal anomalous network and host events and to build a forensic “fingerprint” of an attack
Mitigate virus infiltration and accidental insider abuse of network access by analysing access control policies and recommending improvements
Summary of the PPDIOO
The table below shows a simplified View of the Cisco Lifecycle Services Approach (PDIOO).
PLAN & DESIGN
Develop the business plan
Manage the deployment project
Stage the system
troubleshoot the system
Align to business case
readiness, operations, and applications
Implement the system
additions, and changes
Assess technologies and the system
Develop deployment plans
Integrate specialized applications
Monitor and manage the system
Design the system
Test for system acceptance
Develop specialized applications
Figure Cisco Lifecycle Services Approach (PDIOO) (Hemeza, 2005)
The methodology or steps mentioned in this paper are just a guideline to guide us to develop or to run a project. It is not wrong to alter the standard steps according to your environment, requirement, goals or situation. Three methodology are been discussed in this report, which are SDLC, PDIOO and PDIOO. Out of these three, there are advantages and disadvantages. By comparing between SDLC and PPDIOO, we can see the similarity among these two. By referring to Figure 11, we manage to have likeness in project planning, design, and implementation.
Figure The phases comparison between SDLC and PPDIOO.Order Now