Introduction and Basic of Software Modelling
Introduction and Basic of Software Modelling
SDLC is a process that defines the various stages involved in the development of software for
delivering a high-quality product. SDLC stages cover the complete life cycle of a software i.e. from
inception to retirement of the product.
Purpose:
Purpose of SDLC is to deliver a high-quality product which is as per the customer’s requirement.
SDLC has defined its phases as, Requirement gathering, Designing, Coding, Testing, and
Maintenance. It is important to adhere to the phases to provide the Product in a systematic manner.
For Example, A software has to be developed and a team is divided to work on a feature of the
product and is allowed to work as they want. One of the developers decides to design first whereas
the other decides to code first and the other on the documentation part.
This will lead to project failure because of which it is necessary to have a good knowledge and
understanding among the team members to deliver an expected product.
SDLC Cycle
SDLC Cycle represents the process of developing software.
Business analyst and Project Manager set up a meeting with the customer to gather all the
information like what the customer wants to build, who will be the end-user, what is the purpose of
the product. Before building a product a core understanding or knowledge of the product is very
important.
For Example, A customer wants to have an application which involves money transactions. In this
case, the requirement has to be clear like what kind of transactions will be done, how it will be done,
in which currency it will be done, etc.
Once the requirement gathering is done, an analysis is done to check the feasibility of the
development of a product. In case of any ambiguity, a call is set up for further discussion.
Once the requirement is clearly understood, the SRS (Software Requirement Specification)
document is created. This document should be thoroughly understood by the developers and also
should be reviewed by the customer for future reference.
#2) Design
In this phase, the requirement gathered in the SRS document is used as an input and software
architecture that is used for implementing system development is derived.
#4) Testing
Testing starts once the coding is complete and the modules are released for testing. In this phase,
the developed software is tested thoroughly and any defects found are assigned to developers to get
them fixed.
Retesting, regression testing is done until the point at which the software is as per the customer’s
expectation. Testers refer SRS document to make sure that the software is as per the customer’s
standard.
#5) Deployment
Once the product is tested, it is deployed in the production environment or first (UAT) User
Acceptance Testing is done depending on the customer expectation.
In the case of UAT, a replica of the production environment is created and the customer along with
the developers does the testing. If the customer finds the application as expected, then sign off is
provided by the customer to go live.
#6) Maintenance
After the deployment of a product on the production environment, maintenance of the product i.e.
if any issue comes up and needs to be fixed or any enhancement is to be done is taken care by the
developers.
First, Requirement gathering and analysis is done. Once the requirement is freeze then only
the System Design can start. Herein, the SRS document created is the output for the
Requirement phase and it acts as an input for the System Design.
In System Design Software architecture and Design, documents which act as an input for the
next phase are created i.e. Implementation and coding.
In the Implementation phase, coding is done and the software developed is the input for the
next phase i.e. testing.
In the testing phase, the developed code is tested thoroughly to detect the defects in the
software. Defects are logged into the defect tracking tool and are retested once fixed. Bug
logging, Retest, Regression testing goes on until the time the software is in go-live state.
In the Deployment phase, the developed code is moved into production after the sign off is
given by the customer.
Any issues in the production environment are resolved by the developers which come under
maintenance.
Prototype models have limited functional capabilities and inefficient performance when compared
to the actual software. Dummy functions are used to create prototypes. This is a valuable
mechanism for understanding the customers’ needs.
Software prototypes are built prior to the actual software to get valuable feedback from the
customer. Feedbacks are implemented and the prototype is again reviewed by the customer for any
change. This process goes on until the model is accepted by the customer.
Once the requirement gathering is done, the quick design is created and the prototype which is
presented to the customer for evaluation is built.
Customer feedback and the refined requirement is used to modify the prototype and is again
presented to the customer for evaluation. Once the customer approves the prototype, it is used as a
requirement for building the actual software. The actual software is build using the Waterfall model
approach.
(i) Planning:
The planning phase includes requirement gathering wherein all the required information is gathered
from the customer and is documented. Software requirement specification document is created for
the next phase.
For Example, the risk involved in accessing the data from a remote database can be that the data
access rate might be too slow. The risk can be resolved by building a prototype of the data access
subsystem.
(iii) Engineering:
Once the risk analysis is done, coding and testing are done.
(iv) Evaluation:
Customer evaluates the developed system and plans for the next iteration.
Incremental Model is a process of software development where requirements divided into multiple
standalone modules of the software development cycle. In this model, each module goes through
the requirements, design, implementation and testing phases. Every subsequent release of the
module adds function to the previous release. The process continues until the complete system
achieved.
1. Requirement analysis: In the first phase of the incremental model, the product analysis expertise
identifies the requirements. And the system functional requirements are understood by the
requirement analysis team. To develop the software under the incremental model, this phase
performs a crucial role.
2. Design & Development: In this phase of the Incremental model of SDLC, the design of the system
functionality and the development method are finished with success. When software develops new
practicality, the incremental model uses style and development phase.
3. Testing: In the incremental model, the testing phase checks the performance of each existing
function as well as additional functionality. In the testing phase, the various methods are used to
test the behavior of each task.
9.5M
197
Java Try Catch
System
What is a System?
The word System is derived from Greek word Systema, which means an organized relationship
between any set of components to achieve some common cause or objective.
A system is “an orderly grouping of interdependent components linked together according to a plan
to achieve a specific goal.”
Characteristics and types of system
Organization
Organization implies structure and order. It is the arrangement of components that helps to
achieve predetermined objectives.
Interaction
It is defined by the manner in which the components operate with each other.
For example, in an organization, purchasing department must interact with production department
and payroll with personnel department.
Interdependence
Interdependence means how the components of a system depend on one another. For proper
functioning, the components are coordinated and linked together according to a specified plan. The
output of one subsystem is the required by other subsystem as input.
Integration
Integration is concerned with how a system components are connected together. It means that the
parts of the system work together within the system even if each part performs a unique function.
Central Objective
The objective of system must be central. It may be real or stated. It is not uncommon for an
organization to state an objective and operate to achieve another.
The users must know the main objective of a computer application early in the analysis for a
successful design and conversion.
Elements of a System
The main aim of a system is to produce an output which is useful for its user.
Inputs are the information that enters into the system for processing.
Output is the outcome of processing.
Processor(s)
The processor is the element of a system that involves the actual transformation of input
into output.
It is the operational component of a system. Processors may modify the input either totally
or partially, depending on the output specification.
As the output specifications change, so does the processing. In some cases, input is also
modified to enable the processor for handling the transformation.
Control
Feedback
Environment
A system should be defined by its boundaries. Boundaries are the limits that identify its
components, processes, and interrelationship when it interfaces with another system.
Each system has boundaries that determine its sphere of influence and control.
The knowledge of the boundaries of a given system is crucial in determining the nature of
its interface with other systems for successful design.
Types of Systems
The systems can be divided into the following types −
Physical systems are tangible entities. We can touch and feel them.
Physical System may be static or dynamic in nature. For example, desks and chairs are the
physical parts of computer center which are static. A programmed computer is a dynamic
system in which programs, data, and applications can change according to the user's needs.
Abstract systems are non-physical entities or conceptual that may be formulas,
representation or model of a real system.
An open system must interact with its environment. It receives inputs from and delivers
outputs to the outside of the system. For example, an information system which must
adapt to the changing environmental conditions.
A closed system does not interact with its environment. It is isolated from environmental
influences. A completely closed system is rare in reality.
Natural systems are created by the nature. For example, Solar system, seasonal system.
Manufactured System is the man-made system. For example, Rockets, dams, trains.
Deterministic system operates in a predictable manner and the interaction between system
components is known with certainty. For example, two molecules of hydrogen and one
molecule of oxygen makes water.
Probabilistic System shows uncertain behavior. The exact output is not known. For example,
Weather forecasting, mail delivery.
Project communication management is one of the 10 key knowledge areas in the PMBOK (Project
Management Book of Knowledge). The processes included in this area have changed over the years
but, in the current version, there are three primary project communication management processes.
These are:
2. Manage communications
3. Monitor communications
How to create a project communication management plan
Project managers need to clearly outline how they will manage communications across their
When creating a plan, project managers should follow these five steps:
1. Decide your objectives: What will be the purpose of your communication? You may use
some communication tools for awareness, such as a status report. Others may require
action, such as requiring a sponsor to authorize spending or a customer to approve project
testing.
2. Determine your audience: Who are the stakeholder in this project? You should make an
extensive list of everyone involved. Consider anyone impacted by the project or who
influences its success. This list should include team members, sponsors, customers, and
other interested parties.
3. Write your message: What will the message be for each type of communication? This is the
actual content that will be shared. Key components to be communicated include
scope, schedule, budget, objectives, risks, and deliverables.
4. Choose your channel: How will the message be delivered? Will it be a formal report emailed
out to all stakeholders? Or will it be an informal verbal debrief during a team meeting?
5. Set a timeline: When will you deliver your message? Do your stakeholders require weekly or
monthly reports? Is there a deadline to meet? Consider varying time zones and employee
schedules here.
Your project communication management plan should be detailed enough to lay out why you’re
sending a message, who you’re sending it to, what specific information will be sent, how you’re
Involving your stakeholders in the creation of this plan is important. You need to understand their
communication preferences and expectations. If you over-communicate, they may stop paying
The golden rule here is that, to be a good communicator, you need to be a good listener. Pay
attention to all the factors and take every opinion into account before creating your project
manager’s job to ensure it’s carried out successfully. This means the plan needs to be reviewed and
updated on a regular basis to reflect any changes to the project or its stakeholders.
The project manager also has to manage the execution of the project communication management
PMBOK. Despite the title change, the process is the same. It involves monitoring and controlling
arises over the life cycle of a project to help the project remain on track and meet its goal. Risk
management isn’t reactive only; it should be part of the planning process to figure out risk that
might happen in the project and how to control that risk if it in fact occurs.
A risk is anything that could potentially impact your project’s timeline, performance or budget. Risks
are potentialities, and in a project management context, if they become realities, they then become
classified as “issues” that must be addressed. So risk management, then, is the process of
identifying, categorizing, prioritizing and planning for risks before they become issues.
Risk management can mean different things on different types of projects. On large-scale projects,
risk management strategies might include extensive detailed planning for each risk to ensure
mitigation strategies are in place if issues arise. For smaller projects, risk management might mean a
To begin managing risk, it’s crucial to start with a clear and precise definition of what your project
has been tasked to deliver. In other words, write a very detailed project charter, with your project
vision, objectives, scope and deliverables. This way risks can be identified at every stage of the
project. Then you’ll want to engage your team early in identifying any and all risks.
Don’t be afraid to get more than just your team involved to identify and prioritize risks, too. Many
project managers simply email their project team and ask to send them things they think might go
wrong on the project. But to better plot project risk, you should get the entire project team, your
clients’ representatives, and vendors into a room together and do a risk identification session.
With every risk you define, you’ll want to log it somewhere—using a risk tracking template helps you
prioritize the level of risk. Then, create a risk management plan to capture the negative and positive
impacts to the project and what actions you will take to deal with them. You’ll want to set up regular
You can’t resolve a risk if you don’t know what it is. There are many ways to identify risk. As you do
go through this step, you’ll want to collect the data in a risk register.
One way is brainstorming with your team, colleagues or stakeholders. Find the individuals with
relevant experience and set up interviews so you can gather the information you’ll need to both
identify and resolve the risks. Think of the many things that can go wrong. Note them. Do the same
with historical data on past projects. Now your list of potential risk has grown.
Make sure the risks are rooted in the cause of a problem. Basically, drill down to the root cause to
see if the risk is one that will have the kind of impact on your project that needs identifying. When
trying to minimize risk, it’s good to trust your intuition. This can point you to unlikely scenarios that
you just assume couldn’t happen. Remember, don’t be overconfident. Use process to weed out risks
from non-risks.
Analyze the Risk
Analyzing risk is hard. There is never enough information you can gather. Of course, a lot of that data
is complex, but most industries have best practices, which can help you with your analysis. You
might be surprised to discover that your company already has a framework for this process.
When you assess project risk you can ultimately and proactively address many impacts, such as
avoiding potential litigation, addressing regulatory issues, complying with new legislation, reducing
So, how do you analyze risk in your project? Through qualitative and quantitative risk analysis, you
project. ProjectManager takes that one step further with real-time dashboards that display live data.
Unlike other software tools, you don’t have to set up our dashboard. It’s ready to give you a high-
level view of your project from the get-go. We calculate the live date and then display it for you in
easy-to-read graphs and charts. Catch issues faster as you monitor time, costs and more.
Not all risks are created equally. You need to evaluate the risk to know what resources you’re going
Having a large list of risks can be daunting. But you can manage this by simply categorizing risks as
high, medium or low. Now there’s a horizon line and you can see the risk in context. With this
perspective, you can begin to plan for how and when you’ll address these risks.
Some risks are going to require immediate attention. These are the risks that can derail your project.
Failure isn’t an option. Other risks are important, but perhaps not threatening the success of your
project. You can act accordingly. Then there are those risks that have little to no impact on the
overall project’s schedule and budget. Some of these low-priority risks might be important, but not
All your hard work identifying and evaluating risk is for naught if you don’t assign someone to
oversee the risk. In fact, this is something that you should do when listing the risks. Who is the
person who is responsible for that risk, identifying it when and if it should occur and then leading the
That determination is up to you. There might be a team member who is more skilled or experienced
in the risk. Then that person should lead the charge to resolve it. Or it might just be an arbitrary
choice. Of course, it’s better to assign the task to the right person, but equally important in making
Think about it. If you don’t give each risk a person tasked with watching out for it, and then dealing
with resolving it when and if it should arise, you’re opening yourself up to more risk. It’s one thing to
identify risk, but if you don’t manage it then you’re not protecting the project.
Now the rubber hits the road. You’ve found a risk. All that planning you’ve done is going to be put to
use. First you need to know if this is a positive or negative risk. Is it something you could exploit for
For each major risk identified, you create a plan to mitigate it. You develop a strategy, some
preventative or contingency plan. You then act on the risk by how you prioritized it. You have
communications with the risk owner and, together, decide on which of the plans you created to
You can’t just set forces against a risk without tracking the progress of that initiative. That’s where
the monitoring comes in. Whoever owns the risk will be responsible for tracking its progress towards
resolution. But you will need to stay updated to have an accurate picture of the project’s overall
the means of communications to do this. It’s best to have various channels dedicated to
communication.
Whatever you choose to do, remember: always be transparent. It’s best if everyone in the project
knows what is going on, so they know what to be on the lookout for and help manage the process.