How to architect/design a knowledge base to solve issues from its history analysis? [closed] - data-mining

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I have a ticketing system (lets say JIRA or similar) for my application to file an issue of my application. Now my requirement is to build a knowledge base in a way so that I can predict the solution of any similar issues in future by churning that knowledge base.
To explain further, the knowledge base would give me how many times this kind of issues have arisen in past and what have been the root cause of it in most of the time (lets say 80% time). This way the repository should have an analysis of each and every issue and its possible root cause plus many other relevant information about the issue.
Just to start off to build such a knowledge base, I need to know following things:
What is the most commonly used technology/mechanism available to achieve this ?
How do I need to architect/design a system to be able to serve this kind of requirement?
Does it require to learn any particular language/database ?
I request community experts to enlighten me with the required information and pointers to give me a starting point at least in this direction.
Thanks.

I would suggest against a ‘reinvent the wheel’ approach.
There are perfectly good tools out there that achieve your required use cases. Look at ServiceNow or Desk.com as CRM for tickets, or if you just want a Wiki that integrates with Jira, look at Atlassian’s wiki.
You can also generate reports from Jira itself, not sure why anyone would want to build his own when there are such great tools out there.

Related

How to know project is using only TDD [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I want to provide tests statistics of TDD usage in a company, so I need to identify which projects are using only TDD, or if there are tests code written after coding. I thought using time stamp file change info, but Does anybody have a better solution for this?
A pretty broad question, but I think there is actually a fact based answer.
That answer is: you can't solve social problems on the technical layer.
In other words: already your goal/requirement is flawed: you will not be able to generate those clear statistics. You might be able to apply some heuristics; but unless you get access to all information from all developer systems, timestamps wont help you. You see: the normal approach is to do some coding; and at some point release all of that into the version control system.
So, sometimes it might be clear from timestamps that X was written before XTest; but very often, X and XTest will be released into the library within one commit. Now - which one was written first?
Thus: start thinking on the "social" level first. Meaning: talk to the development teams. Ask them about their practices. And when they claim to do TDD; then look into their specific commit history and see if that tells you anything.
Usually following the Test Driven Development practice implies continuous repeating of small Red-Green-Refactor cycles. As #GhostCat stated, looking into the commit history is is an excellent point to check if the devs follow TDD principles. Every change in the production code should be reflected in a corresponding unit test.
You may also check the code coverage. The high coverage is not the goal but it can be a good indication if the TDD practices are followed.

Approach to data-analysis [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I'm looking to write a reporting tool. The data resides in a ~6GB postgresql database. The application is an online store/catalog application that has items and orders. The stakeholders are requesting a feature that will allow them to search for an item and give a count of all those orders in the last 2 years.
Some rows contain quantities, and units of measure, which would require multiplication of quantity and UoM for each row.
It's also possible that other reporting functions will be necessary in the future.
I have not delved much into the data analysis aspect of programming. I enjoy Clojure, so I would be thrilled to find a solution that uses Clojure, but only if Clojure offers competitive tools for my needs.
Here are some options I'm considering:
merely SQL
Clojure
core.reducers
a clojure hadoop library
Hadoop
Can anyone shed some insight into these kinds of problems for me? Are there articles that you would recommend?
Hadoop is likely overkill for this project. It seems most likely that simply using Clojure-jdbc or Korma to read the data form the database and filter/reduce it in Clojure is likely to be fine. At work we routinely work with sequences of that size, though this depends on the expected response time. You may need to do some preprocessing and caching if instantaneous responses are expected.

C++ Central Logging system [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I've been asked to implement Centralized Logging system in C++. But I'm new to programming, and it doesn't really make sense, what needs to be done in class Log? I'm told that this class has to have 3 levels: ALL, ERROR, NONE. What should be in this levels? How should I link this class to my other source codes?
I still do not have clear view on Logging, and cant seem to find resources online. One of the task was not to spam cout. I am really struggling on this, if someone could help me, I would greatly appreciate it.
Thank you.
Edit: Thank for answering. That helped, because I was not in 1st year and they taught python last year and i haven't, so that's why i am struggling with logging
The logging module of Python will give you a good idea of what a logging system should do. See logging.DEBUG, logging.WARNING, logging.ERROR, etc. for what 'levels' means. As for compiling and linking your class, that's a totally different issue altogether.
Other than that, not much for you. This is obviously homework, and you've shown little/no effort in terms of what you may have researched, or code you may have written.

How can I determine what percentage of Github projects contain unit tests? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I'm working on a presentation about unit testing and TDD. One statistic I'd like to share is the percentage of Github projects that contain unit tests. Is this data available somewhere?
If not, is it possible to obtain through a Github API? I was considering a simple file-based approach based on project type (see if a Java project has any files ending in Test.java, or spec.rb for Ruby), but I've never used their API and don't know how feasible this is.
I don't think there's any API to provide you with that information.
Or at least not without browsing the entire set of repositories, which would not be practical anyway. You might want to suggest the github staff to conduct such a survey themselves, but that will be up to them :)
Grab the list of Java repositories from the Github API (use search and the language parameter), then clone each repository, look for Test.java or whatever and collect your results. I don't think there's a way of doing this without cloning each project though.

Mantis and Redmine, which one is better for issue tracking? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I consider to use Mantis or Redmine to manage projects. (Issue Tracking)
I know both are really good.
For now, I won't connect it with SVN or Git.
(It may happen later)
The main purpose is issue tracking on business with co-workers.
Please recommend one of them, or you can recommend the other one.
Thanks.
I can recommend redmine. I've been using it for more than 2 years, with 25-50 simultaneous users and more than 50 projects.
I went through a lot of updates without ever having any problems.
The database is properly normalized, so if you ever need to retrieve any data, you will be able to do so.
Numerous plugins exists which may cover special needs if there are any.
Edit: In the meantime, I had to change over to Jira, but I'd go back to redmine anytime if I could.
Never used Redmine, but we've been using Mantis for about 7-8 years for many projects for our distributed team. One of the benefits is its simplicity. We've even wrote a couple of our own extensions, e.g. widely used in our process Kanban board (one of the Agile approaches).
Sometimes I think it looks slightly outdated among other modern tools but it really works for us and we can extend it with our own PHP code.