SE Experiments
SE Experiments
5. Theory:
Prototyping
The Prototyping Model is one of the most popularly used Software Development Life Cycle
Models (SDLC models).This model is used when the customers do not know the
exact project requirements beforehand. In this model, a prototype of the end product
is first developed, tested and refined as per customer feedback repeatedly till a final
acceptable prototype is achieved which forms the basis for developing the final
product.
Problem Statement:-
School Management System (SMS) is a web based system for serving students and teachers.
The main idea of our system is to allow the students to be up to date with the school activities
that is with their attendance and grades, and for teachers it will beconsidered as an easy way to
manage their job, to be in touch with students and to enter their grades and attendance and
prepare test paper, evaluate it and enter the marks of students. This system will help to make a
wonderful virtual educational social community much needed in this covid scenario that
definitely will improve the student’s performance and education, and make the school for them
their second home.
Admin will be able to add teachers, add students, add class, add subjects,
modify/delete teachers, modify/delete students, modify/delete classes and
modify/delete subjects.
Teacher has to mark attendance, prepare test paper, check papers and enter marks.
• Admin:
Login, Logout, Add Teachers, Add Students, Add Class, Add Divisions,
AddSubjects, Modify/Delete Teachers, Modify/Delete Students, Modify/Delete
Class,Modify/Delete Divisions, Modify/Delete Subjects
• Teacher:
Mark Attendance, Prepare Test Paper, Check Papers, Enter marks
• Student:
View attendance, View Marks
• Since in this methodology a working model of the system is provided, the users
get a better understanding of the system being developed.
Advantages of Prototyping
6. Conclusion:
Software Process Models plays an important role in development of any software process or
project, as software developers has to manage large-scale software projects. Different types of
process models are available. As per the requirements establish, choose one of the process
models.
Experiment No. 2
PURPOSE
This SRS Document contains the complete software requirements for the Student Management
System and describes the product functions, user characteristics, constraints and specific
requirements needed to implementthe system. The objective of the System is to maintain
information pertaining to the students with the purpose of: -
• Accuracy
• Reliability
• No Redundancy
• Easy to operate
• Administrative Level
• Faculty
• Students
EXISTING SYSTEM
Additionally, security of information is very less as all the details of studentsare recorded
on paper. Also, maintaining large number of student details, courses, attendances,
manually is a very complex task. Searching for a particular student is critical as it takes a
lot of time.
PROPOSED SYSTEM
An automated Student Management System will ease the burden of teachersas well as
students and other staff members. Student Management System is used to manage
and maintain the information of students and faculties.
This software helps the user to ease the access of information of students.This software
is also helpful for the administrator because he can easily bring changes to the records
of the student.
• Faculty can access all student details and update the same.
• The student can view all his course details, attendance details, feedetails and results.
ADVANTAGES OF STUDENT MANAGEMENT SYSTEM
One of the major benefits of the student management system these days is that they can be
accessed by one and all and that too with a great degree ofconvenience! Apart from
students and members of the management these systems can also be accessed by people
such as teachers and parents. In fact, all the members of staff can access these systems as
well.
Such system lets the students focus solely on their primary responsibility in life –
studying. No longer they need to come to admins for their recordsor any other thing that
may bother them. This means they have all the time that they need in order to work in
areas where work needs to be done.
A student tracking system comes with dashboards, which makes it easier for you to track
what work has already been done and what work needs to be done. The best part of all this
is that you get all the necessary information on a single screen, which helps you get the best
possible view.
The cost incurred from employing staff to manage the activities of a collegeis an
additional cost that shouldn't be if you decide to make use of this newtechnology. With
this student management system, your number of staffs, excessive buying of writing
materials will be minimal and functionality will improve.
PERFORMANCE REQUIREMENTS
• Student Management System shall handle expected and unexpected errors in ways that
prevent loss in information and long downtime period. Thus, it should have inbuilt error
testing to identify invalid username/password.
• The System should be able to handle large amount of data. Thus itshould accommodate
high number of users without any fault.
SAFETY REQUIREMENTS
The database may get crashed at any certain time due to virus or operating system failure. Therefore, it is
required to take the database backup so that the database is not lost. Proper UPS/inverter facility
should be there in case ofpower failure.
SECURITY REQUIREMENTS
• System will have different types of users and every user hasaccess constraints.
• When the user performs any action, authorize him or her to perform the actions allowed for the
user and displays an error message if found to be unauthorized.
BUSINESS RULES
A business rule is anything that captures and implements business policies and practices.
A rule can enforce business policy, make a decision, or infer new data from existing data. This
includes the rules and regulations that the system users should abide by. This includes the cost of
the project and the discount offers provided. The users should avoi8d illegal rules and protocols.
Neither admin nor the users should cross the rules and regulations.
SOFTWARE TOOLS
• HTML
OPERATING ENVIRONMENT
The system should be able to work on any of the modern browsers like Firefox /
Explorer / Opera / Chrome, and any of the common Operating Systems like Linux,
Windows and Mac OS.
HARDWARE SPECIFICATION
Ram: 1 GB or more
SRS establish the basis for agreement between the customers and the suppliers also
reduce the development efforts, provide a basis for estimating costs and schedules, and
provide a baseline for validation and verification.
The SRS makes it easier to transfer the software product to new users ornew machines
&Serve as a basis for enhancement.
Experiment No. 3
1. Aim: Use Project management tool to prepare schedule for the project.
5. Theory:
Introduction
Basically, PERT (Programed Evaluation Review Technique) and CPM (Critical Path Method)
are project management techniques, which have been created out of the need of Western
industrial and military establishments to plan, schedule and control complex projects.
Planning, Scheduling (or organizing) and Control are considered to be basic Managerial
functions, and CPM/PERT has been rightfully accorded due importance in the literature on
Operations Research and Quantitative Analysis. PERT/CPM provided a focus around which
managers could brain-storm and put their ideastogether. It proved to be a great communication
medium by which thinkers and planners at one level could communicate their ideas, their
doubts and fears to another level. Most important, it became a useful tool for evaluating the
performance of individuals and teams.
There are many variations of CPM/PERT which have been useful in planning costs, scheduling
manpower and machine time. CPM/PERT can answer the followingimportant questions:
• How long will the entire project take to be completed? What are the risks involved?
• Which are the critical activities or tasks in the project which could delay the entireproject if
they were not completed on time?
• Is the project on schedule, behind schedule or ahead of schedule?
• If the project has to be finished earlier than planned, what is the best way to do thisat the
least cost?
The Framework for PERT and CPM
Essentially, there are six steps which are common to both the techniques. The procedure is listed
below:
1. Define the Project and all of its significant activities or tasks. The Project (made up of several
tasks) should have only a single start activity and a singlefinish activity.
2. Develop the relationships among the activities. Decide which activities must precede and
which must follow others.
3. Draw the "Network" connecting all the activities. Each Activity should have unique event
numbers. Dummy arrows are used where required to avoid givingthe same numbering to two
activities.
5. Compute the longest time path through the network. This is called the criticalpath.
6. Use the Network to help plan, schedule, and monitor and control the project.
The Key Concept used by CPM/PERT is that a small set of activities, which make up the
longest path through the activity network control the entire project. If these "critical" activities
could be identified and assigned to responsible persons, management resources could be optimally
used by concentrating on the few activities which determine the fate of the entire project. Non-
critical activities can be replanned, rescheduled and resources for them can be reallocated flexibly,
without affecting the whole project.
Some activities are serially linked. The second activity can begin only after the first activity is
completed. In certain cases, the activities are concurrent, because they are independent of each other
and can start simultaneously. This is especially the case inorganizations which have supervisory
resources so that work can be delegated to various departments which will be responsible for the
activities and their completion as planned. When work is delegated like this, the need for constant
feedback and coordination becomes an important senior management pre-occupation.
To make the Backward Pass, we begin at the sink or the final event and work
backwards to the first event.
At Event 3 there is only one activity, Activity 3-4 in the backward pass, and we find that the value
is 11-7 = 4 weeks. However at Event 2 we have to evaluate 2 activities, 2-3 and 2-4. We find that
the backward pass through 2-4 gives us a value of 11-6 = 5 while 2-3 gives us 4-0 = 4. We take
the smaller value of 4 on the backward pass.
We are now ready to tabulate the various events and calculate the Earliest and LatestStart and
Finish times. We are also now ready to compute the SLACK or TOTAL FLOAT, which is
defined as the difference between the Latest Start and Earliest Start.
Event Duration(Weeks) Earliest Earliest Latest Latest Total
✦ The Earliest Start is the value in the rectangle near the tail of each activity
✦ The Earliest Finish is = Earliest Start + Duration
✦ The Latest Finish is the value in the diamond at the head of each activity
✦ TheLatest Start is = Latest Finish - Duration
There are two important types of Float or Slack. These are Total Float and Free Float.
• Total Float is the spare time available when all preceding activities occur at the earliest
possible times and all succeeding activities occur at the latest possible times.
Total Float = Latest Start - Earliest Start
• Activities with zero Total float are on the Critical Path. Free Float is the spare timeavailable
when all preceding activities occur at the earliest possible times and all succeeding activities
occur at the earliest possible times.When an activity has zeroTotal float, free float will also be
zero.
• There are various other types of float (Independent, Early Free, Early Interfering, Late Free,
Late Interfering), and float can also be negative. We shall not go into these situations at
present for the sake of simplicity and be concerned only with Total Float for the time being.
• Having computed the various parameters of each activity, we are now ready to gointo
the scheduling phase, using a type of bar chart known as the Gantt chart.
• There are various other types of float (Independent, Early Free, Early Interfering, Late Free,
Late Interfering), and float can also be negative. We shall not go into these situations at
present for the sake of simplicity and be concerned only with Total Float for the time being.
Having computed the various parameters of each activity, we are now
ready to go into the scheduling phase, using a type of bar chart known as the Gantt chart.
Gant Chart
Pert Chart
Critical Path
Additional Learning
Both of these charts are used for task scheduling, controlling, and administering the tasks
necessary for the completion of a project. The difference between them is that a PERT chart
is a kind of network diagram, while a Gantt chart is a bar chart.
Conclusion:
A Timeline chart & project table helps in planning, how long that project might
take and that can
really
save time in the end and more so if you are on a deadline.
Experiment No. 4
1. Aim: Identify Scenarios & Develop UML Use Case & Class Diagram for theproject.
• Become conversant with the Unified Language (UML) notation and symbols.
• Learn the efficient tools to implement the method.
• Understand the importance of this experiment from application point of view.
• Learn the efficient tools to design use case & class diagram
5. Theory:
<<actor>>
Actor Name
Use case: A use case in a Use Case diagram is a visual representation of distinct business
functionality in a system. Each use case is a sequence of transactions performed by the
system that produces a major suit for the actor.
Use case name
System Boundary: A system boundary defines the scope of what a system will be.A
system cannot have infinite functionality.
1. Include: Include is used when two or more use cases share common portion in the flow of
events. The stereotype <<include>> identifies the relationshipinclude.
2. Extend: In an extend relationship between two use cases, the child use case adds to the
existing functionality and characteristics of the parent use case.
Class Diagram:
An object model captures a static structure of a system by showing the objects in the system,
relationship between the objects, and the attributes and operation that characterize each class of
objects. Object models provide an intuitive graphic representation of a system and are valuable for
communicating with customers anddocumenting the structure of the system.
Class: Classes are composed of three things: a name, attributes, and operations. Below is an
example of a class:
Class-Name …
Attribute Name - 1 : datatype 1 = default
value 1 Attribute Name - 2 : datatype 2 =
default value 2
Operation Name 1 (argument List 1) : result Type 1
Operation Name 2 (argument List 2) :
result Type 2
Attributes: An attribute is data value held by the objects in a class. An attribute should
be a pure data value, not an object. Unlike objects, pure data values do not have identity.
Links and Association: Links and association are the means for establishing
relationships among objects and classes. A link is a physical or conceptual connection between
object instances. An association describes a group of links with common structure and common
semantics.
An association describes a set of potential links in the same way that a class describes a
set of potential objects. Associations are inherently bi-directional.
Class1 Class2
Association
Multiplicity: Multiplicity specifies how many instances of one class may relate to a single
instance of an associated class. Multiplicity constrains the number of related objects. Multiplicity
is often described as being “ one” or “many” but more generally it is subset of non negative
integers.
Object diagram indicate multiplicity with special symbols at the ends of associationlines.
Multiplicity can be specified with a number or set of intervals, such as “1”, “1+”(1 or more), “3-
5”(3 to 5, inclusive), and “2, 4,18” (2,4 or 18)
Generalization and Inheritance: Generalization and Inheritance are powerful abstractions for
sharing similarities among classes while preserving their differences.
Generalization is the relationship between a class and one or more refined versions of it. The
class being refined is called the superclass and each refined version is called subclass. Attributes
and operations common to a group of subclasses are attached to the superclass and shared by
each subclass. Each subclass is said to inherit the features of its superclass. Generalization is
sometimes called the “is-a” relationship because each instance of a subclass is an instance of the
superclass as well.
SubClass1 SubClass2
Generalization
Additional Learning
UML contains different diagrams and Use case is one of it. Use Case diagram defines
Behavioural component of Software Design i.e. Actor communicating with the system through
Task - Use Case. UML also contains Structural diagrams as well as - such as Class Diagram.
Conclusion:
Class diagram is useful for abstract modelling and for designing actual programs. Class Diagram
matches the industry requirements in the domains of Database management, Programming and
Networking which gives the complete knowledge and understanding ofthe system. It also helps
in analyzing the local and global impact of computing on system and organizations.
Use Case diagram helps to understand the different processes and entities involved in a
system and help the analyst to understand and document the system
Experiment No. 5
1. Aim: To develop DFD and model (level 0, level 1 DFD ) of Selected / allottedproject. (Write the
name of your project)
• Get balanced exposure to both traditional and object oriented approaches to system analysis &
design.
• To understand the importance of this experiment from application point ofview.
5. Theory:
A data flow data diagram is one means of representing the functional model of a software
product. DFDs do not represent program logic like flow transitions do. The DFD can be created
for different levels. The context level DFD (also considered as level 0) shows the entire system
as a single process, and gives no clues as to its internal organization. This context-level DFD is
next "exploded", to produce a Level 1 DFD that shows some of the detail of the system being
modeled.The Level 1 DFD shows how the system is divided into sub-systems (processes), each
of which deals with one or more of the data flows to or from an external agent, and which
together provide all of the functionality of the system as a whole.
External Entity: External entities are objects outside the system, with which the system
communicates. External entities are sources and destinations of the system'sinputs and outputs.
Process: A process transforms incoming data flow into outgoing data flow.
SOFTWARE ENGINEERING
Datastore Notations
DataStore: Datastores are repositories of data in the system. They are sometimes also referred to
as files.
Dataflow: Dataflow are pipelines through which packets of information flow. Labelthe arrows
with the name of the data that moves through it
Diagram:
LEVEL 1 DFD
Process 2:
|
Process n
Results / Observation
AnalysisLevel 0
Level 1
Additional Learning
A data flow diagram shows the way information flows through a process or system. It
includes data inputs and outputs, data stores, and the various subprocesses the data moves
through. DFDs are built using standardized symbols and notation to describe various entities
and their relationships.
Conclusion:
1. Aim: To study and draw Activity diagram for selected / allotted project.
• Apply key modelling concepts to both the traditional structured approach and the Object
Oriented approach.
• Captures the dynamic behavior of the system.
• Learn the efficient tools to design Activity diagram.
• Apply various tools and techniques for key modelling to both the traditionalstructured approach
and the Object Oriented approach.
• Model the activities which are nothing but business requirements.
• Use current techniques, skills, and tools necessary to design activity diagram.
5. Theory:
Activity diagram is used for business process modelling, for modelling the logic captured by a
single use case or usage scenario, or for modelling the detailed logicof a business rule. Activity
diagram is a dynamic diagram that shows the activity and the event that causes the object to be
in the particular state. The easiest way to visualize an activity diagram is to think of a flow
transition and data flow diagrams(DFDs).
The general purpose of activity diagrams is to focus on flows driven by internal processing vs.
external events. Activity diagrams are also useful for: analysing a use case by describing what
actions needs to take place and when they should occur; describing a complicated sequential
algorithm; and modelling applications with parallel processes.
Initial Activity: This shows the starting point or first activity of the flow and denoted by a solid
circle. There can only be one initial state on a diagram.
Initial Activity
Activity
Transition: When an activity state is completed, processing moves to another activity state. Transitions
are used to mark this movement. Transitions are modelledusing arrows.
Transition Decisions: Similar to flowcharts, a logic where a decision is to be
made is depicted by a diamond, with the options written on either side of the arrows emerging
from the diamond,within box brackets.
Decisions
Synchronization Bar: Activities often can be done in parallel. To split processing ("fork"), or to
resume processing when multiple activities have been completed ("join"), Synchronization Bars
are used. These are modelled as solid rectangles, with multiple transitions going in and/or out.
Fork denotes the beginning of parallelactivity. Join denotes the end of parallel processing.
Synchronization Bar
Final Activity: The end of the Activity diagram is shown by a bull's eye symbol, also called as a
final activity. An activity diagram can have zero or more activity final nodes.
Final Activity
Swim Lanes
Activity diagrams provide another ability, to clarify which actor performs which
activity. If you wish to distinguish in an activity diagram the activities carried out by individual
actors, vertical columns are first made, separated by thick vertical black lines, termed swim lanes and
name each of these columns with the name of the actor involved. You place each of the activities
below the actor performing theseactivities and then show how these activities are connected.
Documenting Activity Diagram:
Activity 1:
Additional Learning
An activity diagram is a behavioral diagram i.e. it depicts the behavior of a system.
An activity diagram portrays the control flow from a start point to a finish point showing the
various decision paths that exist while the activity is being executed.
Conclusion:
It can be concluded saying activity diagrams focus on flows driven by internal processingvs.
external events and used to model a logic captured by single scenario.
Experiment No. 7
1. Aim: To study and draw Sequence diagram for selected / allotted project.
5. Theory:
A sequence diagram is a graphical view of a scenario that shows object interaction in a time-
based sequence. Sequence diagrams are closely related to collaboration diagrams and both are
alternate representations of an interaction. There are two main differences between sequence and
collaboration diagrams: sequence diagramsshow time-based object interaction while
collaboration diagrams show how objectsassociate with each other.
A sequence diagram has two dimensions: typically, vertical placement represents time and
horizontal placement represents different objects.
Class roles
Class roles describe the way an object will behave in context. Use the UML object symbol to
illustrate class roles, but don't list object attributes.
Object : Class
Activation
Activation boxes represent the time an object needs to complete task.
Messages
Messages are arrows that represent communication between objects. Asynchronous messages
are sent from an object that will not wait for a response from the receiverbefore continuing its
tasks.
Lifelines :
Lifelines are vertical dashed lines that indicate the object's presence over time.
Destroying Objects:
Objects can be terminated early using an arrow labeled "< < destroy > >" that pointsto an X.
< < destroy > >
Loops
A repetition or loop within a sequence diagram is depicted as a rectangle. Place thecondition for
exiting the loop at the bottom left corner in square brackets [ ].
Collaboration Diagram
A collaboration diagram is an interaction diagram that emphasizes the structural organization of
the objects that send and receive messages.
We form a collaboration diagram by first placing the objects that participate in theinteraction as
the vertices in a graph, and then add the links that connect these
objects as the arcs of this graph. Finally, adorn these links with the messages that objects sends
and receive with sequence numbers.
Object : The objects interacting with each other in the system. Depicted by a rectangle with the
name of the object in it, preceded by a colon and underlined.
Object Name :
Object
Relation/Association: A link connecting the associated objects. Qualifiers can be placed on either
end of the association to depict cardinality.
*1..*Association
Messages: An arrow pointing from the commencing object to the destination object shows the
interaction between the objects. The number represents the order/sequence of this interaction.
Conclusion:
Sequence diagram helps to model different objects in a system and to represent the sequenceof
operations in scenario. Collaboration diagram helps to model different objects in a systemand to
represent the associations between the objects as links.
Experiment No.8
Theory:
The risk denotes the uncertainty that may occur in the choices due to past actions and riskis
something which causes heavy losses.
Risk management refers to the process of making decisions based on an evaluation of thefactors
that threats to the business.
Various activities that are carried out for risk management are-
• Risk identification
• Risk projection
• Risk refinement
• Risk mitigation, monitoring and management ⮚
Different types of risks:
1. Project risk:
Project risk arises in the software development process then they basically affect budget, schedule,
staffing, resources and requirements. When project risks becomesevere then the total cost of
project gets increased.
2. Technical risk:
These risks become reality then potential design implementation, interface, verification, and
maintenance problems get created. Technical risk occurs whenproblem becomes harder to solve.
3. Business risk:
When feasibility of software product is in suspect then business risks occur. Businessrisks can
be further categorized as:
i) Market risk- When a quality software product is built but if there is nocustomer for this
product then it is called market risk.
ii) Strategic risk-When a product is built and if it is not following the company’s business
policies then such product brings strategic risk.
iii) Sales risk- When a product is built but how to sell is not clear thensuch a situation brings
sales risk.
iv) Management risk- When senior management or the responsible staffleaves the organization
then management risk occurs.
v) Budget risk-Losing the overall budget of the project is called budget risk.
Documentation:
Students should prepare Risk Table & RMMM plan Template for Risk table
2.
3.
• Classify each risk and enter the category label in column two
• Determine a probability for each risk and enter it into column three
• Enter the severity of each risk (negligible, marginal, critical, and catastrophic)in column four.
Impact values
1-
catastrophic
2-critical
3- marginal
4- 4-negligible
EXPERIMENT NO 9
Theory:
SCM tools:-
The term "SCM" stands for Source code Management, a basic but essential part of any project
developed in the current IT world. It is a kind of software that the developers usually use to
manage their source code. It plays a vital role in the process of software development because it
ensures that every member of the team stays on the top of source code changes in an ongoing
project.
There is a common doubt in the users that they think it is the source code management tool that
solves all the source code management problems and full fills the source code management
requirements of a particular project.
In Software Engineering Software Configuration Management is the task of tracking and
controlling changes in the software part of the larger disciplinary field of Configuration
Management.
The SCM practices include vision controls in the establishment of baselines. If something goes
wrong, SCM can determine what was changed and who changed it.
SCM Features:
Enforcement: With enforcement feature execution daily, ensures that thesystem is configured to
the desired state.
Cooperating Enablement: This feature helps to make the change configuration throughout the
infrastructure with one change.
Version Control Friendly: With this feature, the user can take their choice of version for their
work.
Enable Change Control Processes: As Software Configuration Management tools are version
control and textual friendly we can make changes in code. Changes can be made as a merge
request and send for review.
Prominent Features:
• Reporting and Compliance i.e. gain real-time visibility into the stateof your infrastructure.
• Event Inspection
• Automated Provisioning
• Get enterprise support all-day
• Orchestration
Pros: There are many positive aspects to it as mentioned below:
• Puppet has Strong compliance in automating and reporting tools.
• Puppet provides active community support across development tools.
• Puppet provides Intuitional web UI to handle multiple tasks,
whichincludes reporting and real-time node management.
Cons: There are some disadvantages which are mentioned below:
• Initial understanding could be tough for new users who should learnPuppet DSL or Ruby, as
advanced and real-time tasks eventually require input from CLI.
• While installing the Puppet process lacks adequate error messaging.
• Puppet support is more priories toward Puppet DSL over pure Rubyversions.
• Puppet Lacks revert system, so there is no immediate action onchanges.
4) The chef is basically an automation platform that provides a way to configure
and manage infrastructure. Infrastructure as code implies executing by coding rather
than doing manual execution. The chef works on Ruby and DSL for writing the
configurations.
6) automation engine.
• Salt Cloud integrates with many other cloud providers like GoogleCloud, AWS,
etc. so it’s easy to take benefit of all the assets with one command.
• Saltstack has minions that can check files, processes also host otherthings.
• With orchestrate in bucket Saltstack deploys a complex applicationby
executing singleline commands.
Pros:
• It is simple, Straight and usage is easy once you go through the setupphase.
• Saltstack has a DSL feature so it doesn’t require logic and states.
• Saltstack’s Input, output, and configs are very stable and consistentbecause it uses
the concept of YAML.
• The introspection feature plays a handy role as it makes simple tolook at what
is happening inside Salt.
Cons:
• The first installation process is really difficult to set up and maketough for new users to understand.
• Support for non-Linux Oss is not that great.
• Refer Below Screen Shot of SaltStack
8) Juju is one of the famous configuration management tools which is opensource and is created
by Canonical Ltd.
Juju mainly emphasizes on decreasing the operational overhead of new generation software by
providing facilities like quick deployment, configuring, scaling, integration, and doing operational
tasks on a huge rangeof public and private cloud services along with only servers, open stacks, and
local system based deployments.
JUJU Features:
• JUJU provides software provisioning capabilities.
• JUJU provides instant integration and scaling.
• JUJU can resolve almost all complexities regarding service scalingby using charm.
• JUJU can be used to run multiple PaaS on a platform.
• Kubernetes cluster deployment.
Pros:
• JUJU has a small footprint (2 nodes) K8s cluster deployment.
• JUJU has a multinode deployment.
• Dashboard, Ingress controller, and DNS.
• JUJU provides TLS between nodes for security.
• JUJU can scale up and down nodes. Cons:
• JUJU has a Lock-In
• JUJU provides no clear instructions on using the OpenStack cloudprovider and using a cylinder or
LbaaS.
• JUJU provides no support for advanced networking such as Calico.
• JUJU has no possibility to provide provision open Stack Nodes forthe K8s cluster.
9) The rudder is one of the famous and most used open-source, web- driven, role-based solutions,
configurations, and audit management tools tomake automated system configuration across huge IT
organizations and compliance.
Rudder depends on a light local agent which are installed on each and every managed system.
Rudder’s server-side web interface is built by Scala language and its local agent is written in C
language.
Features of Rudder:
• Rudder Tool provides Web Interface to manage the nodes and alsodefine policies.
• Rudder hosts the inventory part.
• Rudder provides a custom policy editor, which is very unique.
• Rudder automates the simple tasks of administration like installing orconfiguring.
• Rudder supports FULL REST API to communicate with RudderServer.
• The rudder has GIT in its backend.
• Rudder dynamically generates each host policy.
Pros:
• Best performance
• The rudder is based on CFEngine standard so inherits somefunctionalities
of CFEngine
• It provides automated inventory for hardware and software both
• It provides graphical reporting
• It has the best practices library included Cons:
• Rudder community is growing but not very big on this day like thepuppet,
Ansible, etc.
• Rudder is overkill if the goal is only to push one-time actions.
10) TeamCity is also one of the management and continuous integration server developed by
Jet Brains and based on Java Programming Language.
nd
Released on 2 October, TeamCity provides up to 100 build configurations (jobs) and
run unlimited builds. Concurrently it runs 3 agents and if needed itto add extra also. It
possesses a public bug tracker and forum open to all the users. It’s open-source so free
for all users. Features:
• TeamCity provides technology awareness.
• TeamCity has a configuration feature that avoids code duplication.
• TeamCity version control system is comprehensive.
• TeamCity provides support for integrations.
• TeamCity supports build history.
• TeamCity helps you with multiple ways of interaction,customization,
and extending your server.
• Cloud integration functionality is also supported. Pros:
• TeamCity is a feature-rich toolset.
• TeamCity has many developer-oriented features.
• TeamCity doesn’t require any additional plugins.
• There are more than 100 features in TeamCity.
• TeamCity allows you to grow and move smoothly.
Cons:
• TeamCity restricts you in terms of different kinds of projectsaccording to
its base plan especially build configurations.
• It may take time for a new user to get acquainted with the projecthierarchy
structure of it.
Output Analysis:
3. Hardware / Software Required: Any open source tool or technology can be used
for implementation.
4. Theory:
• White-box testing is also known as clear box testing, glass box testing, transparent box testing,
and structural testing. It is a method of testing software that tests internal structures or
workings of an application, as opposedto its functionality (i.e. black-box testing). In white-box
testing an internal perspective of the system, as well as programming skills, are used to design
test cases. The tester chooses inputs to exercise paths through the code and determine the
appropriate outputs. This is analogous to testing nodes in a circuit, e.g. in-circuit testing (ICT).
• White-box testing is testing that takes into account the internal mechanism of asystem
or component
{
if (a == 0)
{
int x = 0;
return;
}
if ((a==b) OR ((c==d) AND bug(a) ))
{
x =1;
}
e = 1/x;
}
• Cyclomatic complexity measures the amount of decision logic in the program module.
• Cyclomatic complexity gives the minimum number of paths that can generate all possible
paths through the module. It is used to define minimum number of test cases required for a
module and it is used during software development lifecycle to quantify maintainability
and testability. Cyclomaticcomplexity is defined as
CC = E - N +
P • Where
graph
CC = E - N + 2
CC = D +1
Where
• In following example the CC is 4, thus this module has 4 linearly independentpaths and this
is the minimum number of test paths to achieve maximum coverage
• TC0: 0->1->2->3->11
• TC1: 0->1->2->4->5->6->11
• TC2: 0->1->2->4->5->7->8->10->2->3->11
Additional Learning:
Conclusion:
Test cases play important role in basic path testing. Using flow graph, we can compute the
number of independent paths through the code.
Function to implement Bubble Sort:
void bubbleSort(int arr[], int n)
{
int i = 0, j = 0; while (i < n-1)
{
// Last i elements are already in placewhile
(j < n-i-1)
{
if (arr[j] > arr[j+1])
swap(&arr[j], &arr[j+1]);j++;
} i++;
}
So
M = 11 - 9 + 2(1) = 4
M = 3 + 1 = 4 Independents paths are given below.
• 1,2,3,4
• 1,2,3,4,8,3,9
• 1,2,3,4,5,6,7,8,3,9
• 1,2,3,4,5,7,8,3,9