Gogte Institute of Technology: Karnataka Law Society's
Gogte Institute of Technology: Karnataka Law Society's
Karnataka, India.
A seminar report on
Submitted by
NAME USN
ROHAN B 2GI18CS430
ROHIT K 2GI18CS431
RUSHIKESH K 2GI18CS432
SAISHA N 2GI18CS433
Mr.Raghavendra Jadhav
Assistant Professor
CERTIFICATE
Marks allocation:
Batch No. :
1. Project Title: Marks USN
Range 2GI18CS430 2GI18CS431 2GI18CS432 2GI18CS433
2. Problem statement (PO2) 0-1
3. Objectives of Defined Problem
0-2
statement (PO1,PO2)
4. Design /
Algorithm/Flowchart/Methodology 0-3
(PO3)
5. Implementation
details/Function/Procedures/Classes
0-4
and Objects (Language/Tools)
(PO1,PO3,PO4,PO5)
6. Working model of the final solution
0-5
(PO3,PO12)
7. Report and Oral presentation skill
0-5
(PO9,PO10)
Total 20
* 20 marks is converted to 10 marks for CGPA calculation
1.Engineering Knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals and an engineering specialization to the solution of complex engineering
problems.
2.Problem Analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics,
natural sciences and Engineering sciences.
3.Design/Development of solutions:Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.
4.Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis of
the information to provide valid conclusions.
5.Modern tool usage:Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities
with an understanding of the limitations.
6.The engineer and society:Apply reasoning informed by the contextual knowledge to assess
societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to
the professional engineering practice.
7.Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and need
for sustainable development.
8.Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.
9.Individual and team work: Function effectively as an individual and as a member or leader
in diverse teams, and in multidisciplinary settings.
10.Communication: Communicate effectively on complex engineering activities with the
engineering community and with society at large, such as, being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive
clear instructions.
11. Project management and finance: Demonstrate knowledge and understanding of the
engineering management principles and apply these to one's own work, as a member and leader
in a team, to manage projects and in multidisciplinary environments.
12. Life-long learning: Recognize the need for and have the preparation and ability to engage
in independent and lifelong learning in the broadest context of technological change.
Problem Statement:
Objectives:
The basic objective of software engineering is to develop methods and procedures for
software development that ca n scales up for large systems and that can be used consistently
to produce high-quality software at low cost and with a small cycle of time.
Abstract:
A programming tool or software development tool is a computer program that software
developers use to create, debug, maintain, or otherwise support other programs and
applications. The term usually refers to relatively simple programs, that can be combined
together to accomplish a task, much as one might use multiple hand tools to fix a physical
object. The most basic tools are a source code editor and a compiler or interpreter, which are
used ubiquitously and continuously. Other tools are used more or less depending on the
language, development methodology, and individual engineer, and are often used for a
discrete task, like a debugger or profiler. Tools may be discrete programs, executed
separately – often from the command line – or may be parts of a single large program, called
an integrated development environment (IDE). In many cases, particularly for simpler use,
simple ad hoc techniques are used instead of a tool, such as print debugging instead of using a
debugger, manual timing (of overall program or section of code) instead of a profiler, or
tracking bugs in a text file or spreadsheet instead of a bug tracking system.
Methodology:
Waterfall Model:
If you are into software development at some point or the other, you would have bumped into
the Waterfall Model. Considered as the traditional method of explaining the software
development process in software engineering, waterfall model happens to clarify the process
into a linear flow with a specified sequence to let the users understand that further level is made
progressive on completion of the previous one. Moreover, this methodology also talks about
the fact that going back to deal with the changes is not possible.
Pros:
Pros:
Being a highly sophisticated design, it is meant to reduce the early risks in the project. As per
the process going by, the developers initiate on a smaller level and explore the included risks
in it. Further to this, the developers are intended towards crafting a plan for iterating of the
spiral.
The accomplishment of any Spiral Lifecycle model is based on consistent, observant, and
conversant management of the project.
Pros:
Code lobster:
Code lobster is a portable Integrated Development Environment (IDE) primarily for PHP,
which also supports HTML, CSS and JavaScript development.
Bootstrap:
Bootstrap is a responsive framework for developing with HTML, CSS, and JS.
Atom:
Atom is a solid all-around text-editor. It is fully free and open source. It can be customized to
do anything but without a need of modifying the config file.
GitHub:
GitHub is a code hosting platform for version control and collaboration. It lets you and
others work together on projects from anywhere.
Visual Studio:
Visual Studio Online is a collection of services. It is fast and easy to plan, build and ship
software across a variety of platforms.
NetBeans:
NetBeans is a popular, Free, open-source IDE. It allows developing desktop, mobile and web
applications
For a software engineer, the primary challenge lies in staying updated with the current trends
and being the best among the many professionals thriving in the industry.
Today’s technology trends (cloud, mobile, analytics, etc.) are having a huge impact on how
software engineering is done. Luckily, there are many robust and dynamic solutions out there
that can necessitate better life cycle management of software and systems.
Software tools come in many forms:
Binary compatibility analysis tools
Bug databases: Comparison of issue tracking systems - Including bug tracking systems
Build tools: Build automation, List of build automation software
Call graph Code coverage: Code coverage #Software code coverage tools.
Code review: List of tools for code review
Code sharing sites: Freshmeat, Krugle, Sourceforge, GitHub. See also Code search engines.
Compilation and linking tools: GNU toolchain, gcc, Microsoft Visual Studio, CodeWarrior,
Xcode, ICC
Debuggers: Debugger#List of debuggers. See also Debugging.
Disassemblers: Generally reverse-engineering tools.
Documentation generators: Comparison of documentation generators, help2man, Plain Old
Documentation, asciidoc
Formal methods: Mathematical techniques for specification, development and verification
GUI interface generators
Library interface generators: SWIG
Integration Tools
Memory debuggers are frequently used in programming languages (such as C and C++) that
allow manual memory management and thus the possibility of memory leaks and other
problems. They are also useful to optimize efficiency of memory usage. Examples: dmalloc,
Electric Fence, Insure++, Val grind
Parser generators: Parsing #Parser development software
Performance analysis or profiling: List of performance analysis tool
Revision control: List of revision control software, Comparison of revision control software
and tell that these are the new features which are updated in recent software development
tools. These help the developers to build the tools.
Conclusion:
Gives you an opportunity to investigate emerging trends in software development and carry
out some independent research into issues in software development tools
There are significant advantages and disadvantages to the various methodologies, and the
best approach to solving a problem using software will often depend on the type of problem.
If the problem is well understood and a solution can be effectively planned out ahead of time,
the more "waterfall" based approach may work the best. If, on the other hand, the problem is
unique (at least to the development team) and the structure of the software solution cannot be
easily envisioned, then a more "extreme" incremental approach may work best.