Thursday, May 6, 2021

E.R Models

 




PHYTHON

 

Python

  Python is a relatively new programming language since it was released in 1989. Still, it has got the attention of programmers and organizations after 2000, when new features and large-scale computations were added. A python is an object-oriented programming language.



     Python is one of the easiest languages to use and work with. Python can create a framework for basically any website need. This language uses simple and straightforward syntax, making it easy for web developers to work with and explain to their users. Some familiar sites that are using this language are Pinterest and Instagram. Python is the fastest-growing programming language.

     The simplicity of coding even complicated structures in Python is a big reason why web application development using Python is on the rise. Python helps software engineers cut development time from hours to minutes.



       You can use Python for web development, Data Science, Scripting, and Automation. Similar to JavaScript, Python also enjoys huge community support and has a lot of useful frameworks, libraries, and tools that can help you create a web application in quick time. Python is also a good programming language to learn Coding

     Its huge standard library and its compatibility with major systems make it come handy for enterprise app developers. Also, it’s easy syntax makes reading and redesigning quite easier.

 


  

   The most favored artificial intelligence programming language among developers that will be boosting in rank in 2020. For beginners, Python is perfect because it is simple, easy to learn, and powerful to create web applications and automation. Python is the best programming language for AI comparing to Java, C#, C++, and Ruby because it supports a functional, object-oriented and procedural-oriented programming approach.

           When compared to other object-oriented programming languages such as Java or C/C++, less coding work is required in Python saving a lot of time. However, it can get messy and complicated for massive projects because of its inability to spot errors as it is an interpreted language. Python is the ideal coding language used for machine learning, NLP, and neural network connections. Python can be used even if you are new to AI development since it is flexible and comes with pre-existing libraries like Pandas, SciPy, and nltk. Python language is lauded for its simple syntax and minimal codes.


 

        Nowadays python is gaining popularity in market. Python undoubtedly tops the list. It is widely accepted as the best programming language to learn first. Python is a fast, easy-to-use, and easy-to-deploy programming language that is being widely used to develop scalable web applications. YouTube, Instagram, Pinterest  are all build in Python coding. Python provides excellent library support and has a large developer community. The programming language provides a great starting point for beginners. Those who are looking for a better job  should definitely learn Python ASAP. A lot of Beginners are using Python as their primary backend stack .

Pros

·         The most noticeable advantage of Python, without a doubt, is the ease of use. New users can learn Python faster than any other language.

·         It is an open-source language with hundreds of built-in libraries; new features are being added to the language continuously, reducing the programmer's efforts.

·         It is paving the way to IoT(Internet of things), machine learning, and data science projects.

                                                                           Cons

·         Unlike other compiled languages, Python is an interpreted language, which may reduce speed. For example, it is slower than C or C++.

·         Python interprets one thread (instruction) simultaneously, and single-threaded programs can cause a decline inefficiency. It needs a lot of memory to perform complicated tasks.

·         Not an excellent option to work with the problematic database.

Sunday, April 25, 2021

Which language learning will be profitable nowadays

 

     After researching that which language is on trend and which is on descend we also have discussed the pros and cons of different languages .We have also compared them to each other to get better outcome .according to me the beginner should start with baby steps from easy basic language which have strong background and wide support .This helps the beginners but no one can just stay on any one basic language because different platform ,users and system demands different language approach .

       due to this we should have multiple language knowledge  if asking me what I would like develop what is  my interest , then my answer will be simple “My interest is in robotics and A.I,I want to design my own robot(not terminator)” anyway talking other then my interest world is also demanding the A.I system in daily life . but A.I is in progress this will take time to gaining the top position . Till that point we can go with language that can be used across the different platform and going popular these days. The top five languages that every programmer should know before jumping off to practical life.

Python:

Nowadays python is gaining popularity in market. Python undoubtedly tops the list. It is widely accepted as the best programming language to learn first. Python is a fast, easy-to-use, and easy-to-deploy programming language that is being widely used to develop scalable web applications. YouTube, Instagram, Pinterest  are all build in Python coding.



 Python provides excellent library support and has a large developer community. The programming language provides a great starting point for beginners. Those who are looking for a better job  should definitely learn Python ASAP. A lot of Beginners are using Python as their primary backend stack .

C/C++

C/C++ is like the bread and butter of programming. Almost all low-level systems such as operating systems, file systems, etc are written in C/C++. If someone want to be a system-level programmer, C/C++ is the language you should learn. C++ is also widely used by competitive programmers owing to the fact that it is extremely fast and stable.



 C++ also provides STL - Standard Template Library. STL is a pool of ready-to-use libraries for various data structures, arithmetic operations, and algorithms. The library support and speed of the language make it a popular choice in the High-frequency.

JAVA

Java is another popular choice in large organizations and it has remained so for decades. Java is widely used for building enterprise-scale web applications. Java is known to be extremely stable and so, many large enterprises have adopted it. If someone looking for a development based job at a large organization, Java is the language that you should learn.



 Java is also widely used in Android App Development. Almost any business today needs an Android Application by the fact  there are billions of Android users today. This opens up a huge opportunity for Java developers.

Swift

    Swift is the programming language that is used to develop iOS applications. IOS-based devices are becoming increasingly popular. Apple iPhone, for instance, has captured a significant market share and is giving a tough competition to Android. So we should know swift for ios based device.

    Before Swift, Objective C was the primary language for development iOS apps. In 2018, Swift got huge popularity and became number 1 programming language for Apple and iOS operating systems. Swift is highly recommended for creating interactive and feature-rich tvOS, iOS and watchOS platforms. 



HTML/CSS

    Both HTML and CSS are fundamental tech skills you can start using to work on real projects within weeks of diving in. And they are the place to start if you want to work in tech, whether you end up going into front end development, back end development, web design, visual design, or even digital marketing.  There is a huge demand for these skills .



  HTML and CSS alone aren’t enough to get you any work in tech is a very narrow way of looking at it. So take a look at the kind of work you can get paid to do with those two skills

      HTML provides the structure while CSS provides the style and helps them to look better and more visually appealing. HTML is the basic building block of an app. This language dictates the structure and contents of a web page. The main disadvantage of HTML is that it can’t help developers make web apps interactive. To enhance HTML pages with an aesthetic style and interface prompts, add a design, and display all HTML elements, developers use CSS.

   HTML language is dynamic and allows you to create a beautiful website using less code. HTML is used to create a starting point for the website and is what most of your static pages starting from. While CSS is the language developers can use to style a website. The style sheet language describes how your website is presented and its layout. CSS is used hand in hand with HTML to add colors, backgrounds, layouts, font sizes, and more.

 Detailed note on each language will be on air stay tuned

Popular Languages

 

1.  Java

      Since Android was officially launched in 2008, Java has been the default development language to write Android apps. This object-oriented language was initially created back in 1995.

                    


       Java was released on 1995 by Sun Microsystems. It is not only a programming language but an ecosystem of tools. It covers almost everything you may need for Java development. Java toolkit includes: JDK (Java Development Kit), JRE (Java Runtime Environment), and IDE (Integrated Development Environment). 

    Java is one of the most famous and most learned languages around the globe. It's celebrating 24 years of successful life-cycle this year. Still today, many developers consider it the best language for developing desktop applications. According to the TIOBE Index, it is the second most used language after C, and it has been in the top 2 since the beginning of the Index.

    Java lies in the middle from a technical and functional point of view. You will need 8 GB of RAM to process its applications effectively. 8 GB RAM is recommended for running, but it can run on relatively lesser specs. It requires at least 50 GB ROM to operate successfully. Furthermore, JDK (Java Development Kit) or JRE (Java Runtime Environment) are a must prerequisite of numerous tools used for development. For example, NetBeans is a great tool if you are starting as a Java developer.

Pros

·  1.      Easy to learn.

     Java programming Language is very easy to learn. This programming language is easy to write, compile, debug, and learn than other programming languages for programmers.

2.      Object-oriented programming language

     Java is a object oriented programming language. It allows programmers to create modular programs and the codes are reusable.

3.      Platform-independent.

   Among the advantages, Java being a platform independent is a major one. Being platform independent, this programming language can be easily from one computer system to another.

4.      Multi-threaded

   Java is a multi-threaded program which means that it can perform several tasks simultaneously within a program.

5.      Secure

   The Java language, compiler, interpreter, and run-time environment were developed to aid for the security purpose.

CONS :

1.      Slow

    In comparison to other programming language, Java is comparatively slower. Slow compilation of the programs annoys a programmer and is one of the drawbacks of the Java programming language.

2.      Occupies More Memory Space

    One of the other disadvantages of Java language is the memory space. Developers of the language haven’t been able to overcome it. Java takes more memory space than the other programming languages like C and C++.

3.      Look and feel

   The default looks and feel of GUI applications which is written in Java using the Swing toolkit is different from other applications written in other compiler language.

4.      Java’s Architecture Code is Inefficient

  Java’s ability to use the code for producing portable, architecturally code is quite inefficient. Once java code is compiled into byte code, a JVM interpreter, mainly designed for a computer architecture, runs the program.

    Most organizations use Java in one way or another. A wide range of use makes these applications almost invisible, which is why the question “where to use Java” is often raised. These domains can be covered by Java:

     Android apps.

    Software products

      Finance programs. 

      Point of sale systems.

      Trading applications. 

      Big data programs.

C++

   C++ is a low-level programming language that adds object-oriented features. It is also known as "C with Classes". It made its first public appearance in 1985, although it was designed in 1979 by Bjarne Stroustrup. C++ is usually used for applications that work directly with hardware and in the gaming industry.



    C++ requires relatively low desktop specs to function. It only takes 24 MB ROM memory and 4 GB RAM. To get maximum productivity, it is a good idea using a multi-core system. Linux also supports the direct installation and function of C++.

It is an extension of the popular C-programming language that can be used for general purposes. This AI programming language is designed to incline to the framework programming that is inserted to adapt to resource-limited software in large systems.               

       With abundant tools, libraries and functions, C/ C++ takes the top slot in Robotics programming platform as most programmers/ aspiring “Robotics Engineer” use C/C++ to ensure the peak performance from the Robot. C/ C++ is a must-learn programming language if you are serious about building a career in the Robotics industry because these two are considered the most mature programming languages in Robotics because they allow easy interaction with low-level hardware.

 The speed of C++ is the greatest benefit since AI development has complex computations and this language can make the calculations faster.  The Arduino microcontroller uses a programming language based on C and is a great way to learn the basics of this important language whilst doing hands-on robotics.

Pros

·         Used by companies like Adobe Systems, Amazon, Facebook, and many others.

·         It is lightweight.

·         Supports multiple inheritances.

Cons

·         It is challenging to learn.

·         You need to manage memory manually.

·         It is not highly promoted like C# (Microsoft) and Java (Oracle), which means there are no releases from these big companies to make developers' life more comfortable.

C#(.NET)

       C# made its way into the programming world in 2002, and it is an object-oriented programming language. Developed by Microsoft, by using their .NET framework, it is used as a framework for many other languages as well, so today, it is used as a general-purpose programming language.

Pros

·         Just like Java, C# is a compiled language. It means that the program execution is fast and multi-threaded.

·         C# is easily integrated into windows, which means it doesn't require any special software or frameworks to run.

·         It comes in handy when a team of developers is working on one project. The code is simple enough to integrate and understand.

Cons

·         The most considerable disadvantage of C# by far is that Microsoft has terminated support for some of the older versions of .NET frameworks, which might create a problem for developers in the long run.

·         C# requires the windows platform as a host to work. It is not the right choice for programmers working in a Linux environment.


Monday, April 19, 2021

ERP solutions

 

Basically blog is on enterprise database system and software

Development life cycles (SDLC).


What is Enterprise database system?

An enterprise database is used by enterprises and large organizations to manage their huge collection of data. Such a database helps companies improve their efficiency. An enterprise database is robust enough to successfully handle the queries of multiple users simultaneously.

Best enterprise database software

    Oracle RDMS.

    Microsoft SQL Server.

    IBM Db2.

    Knack.

    PostgreSQL.

    Google Cloud Big Table.

    MySQL.

    MongoDB.

 

What are Software development life cycles (SDLC)?

 Software Development Life Cycle is a set of steps used to create software applications. Software Development Life Cycle is the application of standard business practices to building software applications. SDLC is a way to measure and improve the development process. It allows a fine-grain analysis of each step of the process. This, in turn, helps companies maximize efficiency at each stage.

There are 7 steps of (SDLC)

1.     Planning.

2.     Define Requirements.

3.     Design and Prototyping.

4.     Software development.

5.     Testing.

6.     Deployment.

7.     Operations and Maintenance.

What is Requirements elicitation phase? And its  requirement.

Requirements elicitation is the set of activities where information is given by stakeholders, users, and customers to be applied to the design of the initiative or the solution. Elicitation is a perpetual process during a project development.

It’s a process of interacting with customers and end-users to find out about the domain requirements, what services the system should provide, and the other constrains.

1.     Requirements Discovery:-

It’s the process of interacting with, and gathering the requirements from, the stakeholders about the required system and the existing system .

      It can be done using some techniques, like interviews, scenarios, prototypes, etc.

2.    Requirements Classification & Organization:-

It’s very important to organize the overall structure of the system. Putting related requirements together, and decomposing the system into sub components of related requirements. Then, we define the relationship between these components.

3.    Requirements Prioritization & Negotiation:-

    We previously explained why eliciting and understanding the requirements is not an easy process. One of the reasons is the conflicts that may arise as a result of having different stakeholders involved.

4.    Requirements Specification:-

   It’s the process of writing down the user and system requirements into a document. The requirements should be clear, easy to understand, complete and consistent.

·        User Requirements

·        System Requirements

 

 

What is ERP System?

ERP stands for “Enterprise Resource Management”, the consolidated process of gathering and organizing business data through an integrated software suite. ERP software contains an application which automates business functions like production, sales quoting, accounting, and more.

 

Types of ERP by Industry:

 

1.     Apparel ERP:

 The clothing industry has to handle a lot of changeover when fashion trends and seasons change.

2.     Automotive ERP:

 Auto manufacturers can rely on ERP tools to handle inventory management, quality control, and scheduling.

3.     Cannabis ERP:

 This ERP is an all-in-one solution for the cultivation, manufacturing, processing, and distribution of legal cannabis.

4.     Construction ERP:

 Construction contractors need to stay in control of labor, materials, equipment, and any subcontractors they’ve hired for a job. ERP software helps with construction task management.

5.     Higher Education ERP:

 College and university ERP systems support academic business processes ranging from tuition billing to exam grading.

6.     Manufacturing ERP or MRP:

      Going back to the origins of ERP, MRP provides production planning, personnel and machine workloads scheduling, and general inventory control along the supply chain.

 

“The ERP System on which I am working is automotive ERP. Now let start with the functional and non functional Requirements for our ERP solution.”

 

What is Automotive ERP Software?

Automotive ERP software improves the manufacturing process for automobile cost control, improved lead times, and the development of new products that meet customer demand. The software includes features like inventory management, quality control, production planning, and more.

 

Functional Requirements for ERP solutions

Centralized Modules

Centralized modules allow users to manage grouped tasks without switching applications or screens. All information needed for a certain operation should be housed in the same part of the system.

 

     ERP Database

ERP systems rely on a central database from which all applications retrieve information. This provides all users with a single source of truth, ensuring all departments and teams work with the same set of information.

 

     Integration

ERP applications are fully integrated and should work together seamlessly. This means users should be able to go from one part of the system to another without feeling completely lost or like it’s a different application. This also means the applications should freely share information with one another in real time.

What Centralized Modules will have?

ü Manufacturing

Before ERP, there was MRP, or manufacturing resource planning. But businesses realized they needed support for their back-office operations as well. When back-office tools were added to MRP, it started to look more like the ERP systems on the current market. Manufacturing functionality has remained a staple to this day.

This ERP functionality gives users the tools needed to manage resources, finances and the shop floor. Your manufacturing system should assist with planning and scheduling, budgeting, forecasting, procurement and materials management.

ü Accounting

     The ERP came from the need to combine manufacturing and back-office functions. Accounting, as one of those back-office processes, has long been a main function of ERP. Accounting tools support accounts receivable, accounts payable and general ledger functions to manage your finances.

     By this ERP database automatically provides the accounting module with data from processes company-wide. This means it will reduce the time your accounting staff needs to spend on collecting financial information. Second, it reduces the chances of redundant entry and errors. Lastly, it gives you a fully comprehensive look at your finances.

ü Customer Relationship Management

      A strong relationship with your customer is the foundation for all your other business functions. Without loyal clients, there won’t be a business to run. Customer relationship management {CRM} functionality helps businesses to track campaigns, nurture leads and maintain client information.

ü Inventory Management

    ERP systems are predominantly aimed at businesses that manage goods; inventory management inevitably plays a large role in the ERP system. Inventory management solutions gives users more control and visibility over stock Inventory management works as part of a multi-functional ERP system.

ü Distribution

      Distribution involves the processes that get a business’s product from the warehouse to its final destination. Like with inventory management, distribution benefits from the other ERP functionalities it’s integrated with. Distribution tools manage functions like purchasing, order fulfillment, order tracking and customer support. Integrating inventory management data is especially helpful during these operations, as it gives users insight into where the product is and how much of it is available.

Non-Functional Requirements for ERP solutions

A non-functional requirement is a specification that describes the system’s operation capabilities and constraints that enhance its functionality. These may be speed, security, reliability, etc.

ü Performance and scalability.

ü Portability and compatibility.

ü Reliability, availability, maintainability.

ü Security.

ü Localization

ü Usability.

1.     Performance and scalability

Performance 

 How fast a software system is how particular piece responds to certain actions under certain workload?  This metric explains how much a user must wait before the target operation happens (the page renders, a transaction is processed, etc.) given the overall number of users at the moment. e.g. backup. But let’s focus on user-centric performance.

Scalability

Scalability assesses the highest workloads under which the system will still meet the performance requirements.

 

2.     Portability and compatibility

   Portability defines how a system or its element can be launched on one environment or another. It usually includes hardware, software, platform specification .

Portability also has an additional aspect called compatibility. Compatibility defines how a system can co-exist with another system in the same environment. For instance, software installed on an operating system must be compatible with its firewall or antivirus protection.

3.     Reliability, Availability, Maintainability

a)     Reliability.

 This quality attribute specifies how likely the system or its element would run without a failure for a given period of time under predefined conditions.

b)    Maintainability.

Maintainability defines the time required for a solution or its component to be fixed, changed to increase performance or other qualities, or adapted to a changing environment.

c)     Availability.

  Availability describes how likely the system is accessible for a user at a given point in time. While it can be expressed as a probability percentage, you may also define it as a percentage of time the system is accessible for operation during some time period.

4.    Security

  This non-functional requirement assures that all data inside the system or its part will be protected against malware attacks or unauthorized access.

5.    Localization

     This attribute defines how well a system or its element falls in line with the context of the local market-to-be. The context includes local languages, laws, currencies, cultures, spellings, and other aspects.

6.     Usability

     Usability is yet another classical nonfunctional requirement that addresses a simple question: How hard is it to use the product? Defining these requirements isn’t as easy as it seems. There are many types of usability criteria. Like

ü Learn ability.

How fast is it for users to complete the main actions once they see the interface?

 

ü Efficiency.

How quickly users can reach their goals?

 

ü Memorability.

 Can users return to the interface after some time and start efficiently working with it right away?

 

ü Errors.

How often do users make mistakes?

 

ü Satisfaction.

Is the design pleasant to use?

 

WE have discussed all functional and non functional requirement for ERP solution"

 

Now the owner of automotive company comes to my software house and demands for ERP SOLUTION  for his automobile company and these are the requirements given by the owner. That all the requirement should be fulfilled  under one database system .

1.     SALES CONTROL + CUSTOMER MANAGEMENT.

2.     PRODUCTION CONTROL + ADVANCED PLANNING.

3.     PURCHASING.

4.      PRODUCTION PLANNING + CONTROL (PPC).

5.      Materials Management SERVICE PROCESSING.

6.     LOGISTICS.

7.     FINANCIAL ACCOUNTING + CONTROLLING.

8.     PROCESS CONTROL + WORKFLOW MANAGEMENT.

9.     BUSINESS INTELLIGENCE +ANALYSIS.

10.                        MULTI-COMPANY  ACCOUNTING.

11.                        ACCOUNTING.

12.                        DOCUMENT MANAGEMENT.

 

                “What my software house will do ”

 

 when creating a new ERP system?

     A methodical selection process helps the company determine whether internal and external business processes can be supported by the ERP systems up for selection. Furthermore, typical bottlenecks should be identifiable.

    Meeting

    After a short list of possible requirement has been created, the owners are invited to a first meeting. Business management and project management will participate in this meeting.

   Survey

          Familiarity is essential for successful collaboration. Fort his reason, Before creating  ERP solution we must have to survey the current situation in the company. The more detailed the company presents itself, the more definitive the decision templates the ERP creator will receive.

   Preparing Solutions

      After the survey meeting, the company data and situation are known. Now we will prepare solutions and processes. This way the owner can determine whether the we understands his company and get an idea of what the software can do for the business in the future.

   Training  with  Users and Company Management

       A classic, one-sided presentation is only able to demonstrate a limited range of the benefits of new ERP software that is provided. It’s useful to hold a training session together with the users and the company management to go over how the ERP system is going to improve business optimization of inter and intra company processes.

   The decision

      Intense preparation in the ERP selection process generally bears fruit quickly. The more structured the ERP solution is , which in turn provides greater certainty. To get the solution ready for the productive start quickly and safely, all results and solutions from the evaluation process should be included in the implementation of the software.

 

What will my ERP do and how will it work?    

   An ERP implementation is a huge commitment from the organization, causing millions of rupees and can take up to several years to be perfect. However, when it is integrated successfully, the benefits will be enormous. A well-designed and properly integrated ERP system allows the most updated information to be shared between various business management easily , resulting in tremendous cost savings and increased efficiency.

         When making the implementation decision, management must considered fundamental issues such as the organization’s readiness for a dramatic change, the degree of integration, key business processes to be implemented, e-business applications to be included, and whether or not new hardware need to be acquired for any update to save cost.

       In order to increase the chance of user acceptance, employees will be consulted and be involved in all stages of the implementation process. Providing proper education and appropriate training (two important strategies) to increase the end user acceptance rate. The organization is also going through a drastic change, with changes in the way businesses are conducted, the organization being restructured, and job responsibilities being redefined. To facilitate the change process, managers are encouraged to utilize the organizational change process.

         Managers can implement their ERP systems in several ways, which include the whole integration, the franchise approach, and the single-module approach. According to needs.