Oos Chap 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 62

Introduction and Basic Software

Modelling
Software Engineering is an engineering branch related
to the evolution of software product using well-defined
scientific principles, techniques, and procedures.
The result of software engineering is an effective and
reliable software product.

Software Processes
The term software specifies to the set of computer
programs, procedures and associated documents
(Flowcharts, manuals, etc.) that describe the program and how they are to be
used.

A software process is the set of activities and associated outcome that


produce a software product. Software engineers mostly carry out these
activities. These are four key process activities, which are common to all
software processes. These activities are:
Software specifications: The functionality of the software and constraints on
its operation must be defined.
Software development: The software to meet the requirement must be
produced.
Types of SDLC

 Descriptive model
A model that describes ’what to do’ according to certain software process
system

 Prescriptive Model
 What should be done during software development including responses to
error situation.
Software Development Life
Cycle (SDLC)
 A software life cycle model (also termed process
model) is a pictorial and diagrammatic
representation of the software life cycle.
A life cycle model represents all the methods
required to make a software product transit
through its life cycle stages. It also captures
the structure in which these methods are to be
undertaken.
 SDLC Cycle
 SDLC Cycle represents the process of developing software. SDLC
framework includes the following steps:

Stage1: Planning and requirement analysis

 Requirement Analysis is the most important and necessary stage in


SDLC.
 The senior members of the team perform it with inputs from all the
stakeholders and domain experts or SMEs in the industry.
 Planning for the quality assurance requirements and identifications of
the risks associated with the projects is also done at this stage.
 Business analyst and Project organizer set up a meeting with the
client to gather all the data like what the customer wants to build,
who will be the end user, what is the objective of the product. Before
creating a product, a core understanding or knowledge of the product
is very necessary.
 For Example, A client wants to have an application which concerns
money transactions. In this method, the requirement has to be precise
like what kind of operations will be done, how it will be done, in
which currency it will be done, etc.
Waterfall Model
Waterfall Model - Design
 Waterfall approach was first SDLC Model to be used widely in Software Engineering to
ensure success of the project. In "The Waterfall" approach, the whole process of
software development is divided into separate phases. In this Waterfall model,
typically, the outcome of one phase acts as the input for the next phase sequentially.
 Requirement Gathering and analysis − All possible requirements of the system to be
developed are captured in this phase and documented in a requirement specification
document.
 System Design − The requirement specifications from first phase are studied in this
phase and the system design is prepared. This system design helps in specifying
hardware and system requirements and helps in defining the overall system
architecture.
 Implementation − With inputs from the system design, the system is first developed in
small programs called units, which are integrated in the next phase. Each unit is
developed and tested for its functionality, which is referred to as Unit Testing.
 Integration and Testing − All the units developed in the implementation phase are
integrated into a system after testing of each unit. Post integration the entire system is
tested for any faults and failures.
 Deployment of system − Once the functional and non-functional testing is done; the
product is deployed in the customer environment or released into the market.
 Maintenance − There are some issues which come up in the client environment. To fix
Waterfall Model - Advantages

 Some of the major advantages of the Waterfall Model are


as follows −
 Simple and easy to understand and use
 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.
 Works well for smaller projects where requirements are
very well understood.
 Clearly defined stages.
 Well understood milestones.
 Easy to arrange tasks.
 Process and results are well documented.
 he major disadvantages of the Waterfall Model are as follows −
 No working software is produced until late during the life cycle.
 High amounts of risk and uncertainty.
 Not a good model for complex and object-oriented projects.
 Poor model for long and ongoing projects.
 Not suitable for the projects where requirements are at a moderate to
high risk of changing. So, risk and uncertainty is high with this process
model.
 It is difficult to measure progress within stages.
 Cannot accommodate changing requirements.
 Adjusting scope during the life cycle can end a project.
 Integration is done as a "big-bang. at the very end, which doesn't
allow identifying any technological or business bottleneck or
challenges early.
Incremental Process Model

 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.
The various phases of incremental model are as follows:
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.
Implementation: Implementation phase enables the coding phase
of the development system. It involves the final coding that design
in the designing and development phase and tests the functionality
in the testing phase. After completion of this phase, the number of
the product working is enhanced and upgraded up to the final
system product
Advantage of Incremental Model

•Errors are easy to be


•recognized.
•Easier to test and debug
•More flexible.
•Simple to manage risk because
• it
•handled during its iteration.
•The Client gets important
•functionality early.
Disadvantage of Incremental Model

 Need for good planning


 Total Cost is high.
 Well defined module interfaces are needed.
 Evolutionary model is also referred to as the successive versions model and
sometimes as the incremental model. In Evolutionary model, the software
requirement is first broken down into several modules (or functional units)
that can be incrementally constructed and delivered (see Figure 5).
 The development first develops the core modules of the system. The core
modules are those that do not need services from the other modules. The
initial product skeleton is refined into increasing levels of capability by adding
new functionalities in successive versions. Each evolutionary model may be
developed using an iterative waterfall model of development.
Prototype Model

 The prototype model requires that before carrying out the development of
actual software, a working prototype of the system should be built. A
prototype is a toy implementation of the system. A prototype usually turns
out to be a very crude version of the actual system, possible exhibiting
limited functional capabilities, low reliability, and inefficient performance as
compared to actual software. In many instances, the client only has a general
view of what is expected from the software product. In such a scenario where
there is an absence of detailed information regarding the input to the system,
the processing needs, and the output requirement, the prototyping model
may be employed.
 Steps of Prototype Model
 Requirement Gathering and Analyst
 Quick Decision
 Build a Prototype
 Assessment or User Evaluation
 Prototype Refinement
 Engineer Product
 Advantage of Prototype Model
 Reduce the risk of incorrect user requirement
 Good where requirement are changing/uncommitted
 Regular visible process aids management
 Support early product marketing
 Reduce Maintenance cost.
 Errors can be detected much earlier as the system is made side by side.
System Concepts

 The key term used most frequently. Understanding


systems and how they work is critical to understanding
systems analysis and design.
 Definition of a System and Its Parts
system is an interrelated set of business procedures (or
components) used within one business unit, working together
for some purpose.
For example, a system in the payroll department keeps track
of checks, whereas an inventory system keeps track of
supplies. The two systems are separate. A system has nine
characteristics. A detailed explanation of each characteristic
follows, system exists within a larger world, an environment.
A boundary separates the system from its environment. The
Disadvantage of Prototype Model

 An unstable/badly implemented prototype often becomes the final


product.
 Require extensive customer collaboration
 Costs customer money
 Needs committed customer
 Difficult to finish if customer withdraw
 May be too customer specific, no broad market
 Difficult to know how long the project will last.
 Easy to fall back into the code and fix without proper requirement
analysis, design, customer evaluation, and feedback.
 Prototyping tools are expensive.
Characteristics and types of system
Characteristics and types of system
 Organization
structure and order
Example: Hierarchical organization in a company.
Computer system: organization of various components like input devices, output devices,
CPU and storage devices
 Interaction
Between sub systems or the components
Example: the main memory holds the data that has to be operated by the ALU.
 Interdependence
Component linkage
Component dependence
 Integration
How subsystems are tied together to achieve the system objective
 Central Objective
Should be known in early phases of analysis
Elements of System
1.Components : An irreducible part or aggregation of parts that makes
up a system; also called a subsystem
2.Interrelated components : Dependence of one part of the system
on one or more other system parts.
3.Boundary : The line that marks the inside and outside of a system
and that sets off the system from its environment.
4.Purpose : The overall goal or function of a system.
5.Environment : Everything external to a system that interacts with
the system.
6.Interfaces : Point of contact where a system meets its environment
or where subsystems meet each other.
7.Constraints : A limit to what a system can accomplish.
8.Input : Inputs are the information that enters into the system for
processing.
9.Output : The main objective of a system is to get an output which is
helpful for its user. Output is the final outcome of processing.
Types of Systems
 Physical or Abstract System
Physical system: tangible entities
static or dynamic in nature.
Example : system-computer centre
Desks and chairs are the static parts
Programs, data, and applications can change according to the user's
needs.
 Abstract systems are conceptual. These are not physical entities. They
may be formulas, representation or model of a real system.
•Open Closed System- Majority of systems are open systems

•open system has many interfaces with its environment


•can also adapt to changing environmental conditions
•can receive inputs from, and delivers output to the outside of system
•Closed systems: Systems that don't interact with their environment.
Closed systems exist in concept only.

•Man made Information System


•Information system is the basis for interaction between the user and
the analyst.
•Main purpose-manage data for a particular organization.
1.Formal Information Systems: Responsible for flow of
information from top management to lower management But
feedback can be given from lower authorities to top
management
2.Informal Information Systems: Informal systems are
employee based. These are made to solve the day to day work
related problems.
3.Computer-Based Information Systems: This class of
systems depends on the use of computer for managing business
applications
Information systems (IS)
in organizations capture and manage data to produce useful
information that supports an organization and its employees,
customers, supliers, and partners. Many organizations consider
Information systems to be essential to their ability to compete or
gain competitive advamage. Most organizations have come to
realize that ail workers need ro participate in the development of
informatlon systems.
1.Transaction processing systems (TPSs)
2.Management Information systems (MISs)
3. Decision support systems (DSSs)
4.Executive information system (EIS)
5.Expert systems
6.Communications and collaboration system
7.Automation systems
Decision Support Systems (DSS)
 Decision Support Systems (DSS) are a class of computerized
information system that support decision-making activities.
 DSS are interactive computer-based systems and subsystems intended
to help decision makers use communications technologies, data,
documents, knowledge and/or models to complete decision process
tasks.
 A decision support system may present information graphically and
may include an expert system or artificial intelligence (AI). It may be
aimed at business executives or some other group of knowledge
workers.
 DSS uses the summary information, exceptions, patterns, and trends
using the analytical models. A decision support system helps in
decision-making but does not necessarily give a decision itself. The
decision makers compile useful information from raw data,
documents, personal knowledge, and/or business models to identify
and solve problems and make decisions.
Characteristics of a DSS
 Support for decision-makers in semi-structured and unstructured
problems.
 Support for managers at various managerial levels, ranging from top
executive to line managers.
 Support for individuals and groups. Less structured problems often
requires the involvement of several individuals from different
departments and organization level.
 Support for interdependent or sequential decisions.
 Support for intelligence, design, choice, and implementation.
 Support for variety of decision processes and styles.
 DSSs are adaptive over time.
Management Information System
(MIS)

Management Information System (MIS) is one of the five major Computer Based
Information Systems (CBIS). Its purpose is to meet the general information needs
of the managers in firm or organization. MIS is a computer based system that
makes information available to users with similar needs.
Management Information System (MIS) consists of following three pillars:
Management, Information, and System. These are explained as following below.
1.Management: art of getting things done through and with the people of in
formally organized groups.
Managerial functions:
2.(i) Panning (ii) Organizing
3.(iii) Staffing (iv) Directing
4. (v) Controlling
 Information: data that have a meaning with a context ,where data is raw
facts about an entity (entity is the object of interest).
 System: set of inter-related components with a clearly defined boundary
working together to achieve a common goal.
Advantages of MIS:

 Improves quality of an organization or an information content by providing


relevant information for sound decision making.
 MIS change large amount of data into summarize form and thereby avoid
confusion which may an answer when an information officer are flooded with
detailed fact.
 MIS facilitates integration of specialized activities by keeping each
department aware of problem and requirements of other departments.
 MIS serves as a link between managerial planning and control. It improves the
ability of management to evaluate and improve performance.
Transaction Processing System

 Transaction Processing System is a type of information processing system,


software and hardware combination, which supports Transaction processing.
 Transaction processing is a type of computer processing in which each
individual indivisible task, called a transaction, is worked upon and executed
as and when it comes. The response to requests is immediate.
 contrast to this is batch processing in which a batch of requests are stored
and then executed all at once. A transaction Processing System is also used
to collect, store, retrieve and modify transactions executed by an
organization.
 Characteristics of a TPS include performance, reliability and consistency
Executive support systems
 Executive support systems are intended to be used by the senior managers
directly to provide support to non-programmed decisions in strategic
management.
 These information are often external, unstructured and even uncertain. Exact
scope and context of such information is often not known beforehand.
 This information is intelligence based −
 Market intelligence
 Investment intelligence
 Technology intelligence
Examples of Intelligent Information
 Following are some examples of intelligent information,
which is often the source of an ESS −
 External databases
 Technology reports like patent records etc.
 Technical reports from consultants
 Market reports
 Confidential information about competitors
 Speculative information like market conditions
 Government policies
 Financial reports and information
Advantages of ESS

 Easy for upper level executive to use


 Ability to analyze trends
 Augmentation of managers' leadership capabilities
 Enhance personal thinking and decision-making
 Contribution to strategic control flexibility
 Enhance organizational competitiveness in the market place
 Instruments of change
 Increased executive time horizons.
 Better reporting system
Disadvantage of ESS

 Functions are limited


 Hard to quantify benefits
 Executive may encounter information overload
 System may become slow
 Difficult to keep current data
 May lead to less reliable and insecure data
Project Organization
 Project organization is the a process ,which provides
the arrangement for decision on how to realize a project.

 It decides the project Process: Planning how to


its costs, deadlines personal and tools will be implemented.

 The project organization is then presented to the project stakeholders.

 IT is the structure of step by step planning of project to build.

 These personnel work under the project manager.


Project Organizational Structure charts
 Step 1: Identify Personal

 Step 2: Create Senior Management Team

 Step 3: Assign project coordination

 Step 4: Identify stakeholders

 Step 5: Establish Training Requirements

 Step 6: Develop the project organization chart


Teams of Organization :
•Project Management Team –
It is an active and highly enthusiastic participant. They are responsible
for producing, developing, and managing project.
•Architecture Team –
They are generally responsible for real artifacts and even for
integration of components. They also find out risks of product
misalignment with requirements of stakeholders and simply ensure
that solution fits defined purpose.
•Development Team –
They are responsible for all work that is necessary to produce working
and validated assets.
•Assessment Team –
They are responsible for assessing quality of deliverables.
Communication in Project Management
 “Communication is the most important aspect in
project management, because what project
managers do a majority of the time is communicate
to coordinate efforts,”
How to create a project communication
management plan
Project managers need to clearly outline how they will manage
communications across their projects. This is done by creating a project
communication management plan.
When creating a plan, project managers should follow these five steps:
 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.

 Determine your audience: Who are the stakeholders 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.
 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.

 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?

 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.
Risk Management in Project Management?
 Risk management is the process of minimizing any potential
problems that may negatively impact a project's timetable.
'Risk' is any unexpected event that might affect the people,
processes, technology, and resources involved in a project.
Unlike 'issues', which are certain to happen, risks are events that
could occur, and you may not be able to tell when. Because of
 this uncertainty, project risk requires preparation in order to
manage them efficiently.
So, what is risk management in project management? It is preparing
for and handling obstacles and problems that may challenge the success of your
project.
How to Manage Risk
 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.
Steps in the Risk Management Process

 So, how do you handle something as seemingly elusive as project risk


management? You make a risk management plan. It’s all about the process.
Turn disadvantages into an advantage by following these six steps.
 Identify the Risk
 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 your exposure and minimizing
impact.
 So, how do you analyze risk in your project? Through qualitative and
quantitative risk analysis, you can determine how the risk is going to impact
your schedule and budget.
 Project management software helps you analyze risk by monitoring your
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.
Prioritize the Risk

 Not all risks are created equally. You need to evaluate the risk to
know what resources you’re going to assemble towards resolving it
when and if it occurs.
 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 enough to
waste time on.
Assign an Owner to the Risk
 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 work towards resolving it?
 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 sure that every risk has a person
responsible for it.
 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.
Respond to the Risk

 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 the betterment of the
project?
 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 implement to resolve
the risk.
Monitor the Risk

 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 progress
to identify and monitor new risks.
 You’ll want to set up a series of meetings to manage the risks. Make sure
you’ve already decided on 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.
Gantt Charts for Risk Management Plans

Use our award-winning Gantt charts to


create detailed risk management plans to
prevent risks from becoming issues.
Schedule, assign and monitor project tasks
with full visibility. Gantt charts allow team
members add comments and files to their
assigned tasks, so all the communication
happens on the project level—in real time.

You might also like