2. Training Report on TechnoGeek app
00220902712
2f
PROJECT
Windows App Development using C#
“TECHNOGEEK”
SUBMITTED IN PARTIAL FULFILLMENT OF THE
DEGREE
OF
BACHELOR OF TECHNOLOGY
IN
“COMPUTER SCIENCE ENGINEERING”
G.B. Pant Govt. Engineering College, GGSIPU
Summer Training after second Year
Year-2014
Microsoft Virtual Academy
3. Training Report on TechnoGeek app
00220902712
3f
ACKNOWLEDGEMENT
I hereby take this opportunity to thank all those people whose
knowledge and experience helped me bring this report in its present
form. It would have been a tough task for me to complete report
without their help.
I express my sincere thanks and gratitude to My tutor Mr. Bob,
Microsoft Virtual Academy. for providing me the opportunity to
pursue my training at the institute.
I would like to express my gratitude to my group member, Ravi for
helping me in every aspect during the training phase as well as in
carrying out the whole project.
Finally I would like to express my deep appreciation to my family
and friends who have been a constant source of inspiration. I am
internally grateful to them for always encouraging me wherever and
whenever I needed them.
Anup Kumar Singh
00220902712
4. Training Report on TechnoGeek app
00220902712
4f
Table of Contents
1 Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, Acronyms, and Abbreviations.
1.4 Overview
2 The Overall Description
2.1 Product Perspective
2.1.1 Hardware Interfaces
2.1.2 Software Interfaces
2.2 Product Functions
2.3 User Characteristics
2.4 Apportioning of Requirements.
2.5 Assumptions and Dependencies
3 Specific Requirements
3.1 External Interfaces
3.1.1 User Interfaces
3.1.2 Software Interfaces
3.1.3 Hardware Interfaces
3.1.4 Communication Interfaces
3.2 Functional Requirements
3.3 Nonfunctional Requirements
3.3.1 Performance Requirements
3.3.2 Design Constraints
3.3.3 Standards Compliance
3.3.4 Reliability
3.3.5 Availability
3.3.6 Security
3.3.7 Maintainability
3.3.8 Portability
5. Training Report on TechnoGeek app
00220902712
5f
Introduction to C sharp (C #)
C# (pronounced "see sharp" or "C Sharp") is one of many .NET
programming languages. A hybrid of C and C++, it is a Microsoft
programming language developed to compete with Sun's Java
language. C# is an object-oriented programming language used
with XML-based Web services on the .NET platform and designed
for improving productivity in the development of Web
applications. It is object-oriented and allows you to build
reusable components for a wide variety of application types
Microsoft introduced C# on June 26th, 2000 and it became a v1.0
product on Feb 13th 2002.
C# is an evolution of the C and C++ family of languages. However,
it borrows features from other programming languages, such as
Delphi and Java. If you look at the most basic syntax of both C#
and Java, the code looks very similar, but then again, the code
looks a lot like C++ too, which is intentional. Developers often ask
questions about why C# supports certain features or works in a
certain way. The answer is often rooted in it's C++ heritage.
Similar to Java, C# does not support multiple inheritance; instead
it provides Java's solution: interfaces. Interfaces implemented by
a class specify certain functions that the class is guaranteed to
implement. Interfaces avoid the messy dangers of multiple
inheritance while maintaining the ability to let several classes
implement the same set of methods.
6. Training Report on TechnoGeek app
00220902712
6f
MICROSOFT VIRTUAL ACADEMY
The Microsoft Virtual Academy (MVA) is a free online school with courses
that cover Microsoft-related topics and specific Microsoft products.
The MVA offers a mix of on-demand courses and live events; each course
contains a video and PDF download of the video transcript. A self-
assessment component is available at the end of each module. Students
are awarded points and can move to different levels of recognition based
on the progress they make. Points are earned by watching videos,
downloading video transcripts and self-assessment quizzes; the more
points a member earns, the more opportunities she is given to participate
in other MVA offerings. A leaderboard tracks the most active members.
Although MVA offers free training for Microsoft certifications, members
cannot earn certification directly through the Academy.
Topics offered through the MVA include business intelligence (BI), server
infrastructure, desktop management and device security, licensing,
programming and cloud computing. The coursework is designed to help
lifelong learners work more effectively with Microsoft Lync, SharePoint,
System Center, Office 365, SQL Server, Visual Studio, Windows Azure,
Windows Phone and Windows Intune.
MVA coursework is hosted on Windows Azure and video access requires
Microsoft Silverlight.
7. Training Report on TechnoGeek app
00220902712
7f
ACTIVITIES OF MICROSOFT VIRTUAL
ACADEMY
Filter courses by product:
Exchange
Lync
Microsoft Azure
MicrosoftDynamics
Office 365 Administration
Office End User
Office for Developer
SharePoint
SQL Server
System Center
Visual Studio
Windows
Windows Phone Apps
Development
Windows Server
Windows Store Apps
Development
8. Training Report on TechnoGeek app
00220902712
8f
Filter courses by topic:
Aspiring Technologists Business
Intelligence (BI)
C# / XAML
Cloud Developer
Collaboration Data Platform
Enterprise Developer
Game Developer
HTML5
Hybrid Cloud
Licensing Management &
Security
Managing Desktop &
Devices Messaging
Mobile Developer
Private Cloud
Productivity Developer
Public Cloud
Quick Start Challenge Server
Infrastructure
Virtualization Web Developer
9. Training Report on TechnoGeek app
00220902712
9f
Visual Studio
Microsoft Visual Studio is an integrated development
environment (IDE) from Microsoft. It is used to develop computer
programs for Microsoft Windows, as well as web sites, web
applications and web services. Visual Studio uses Microsoft
software development platforms such as Windows API, Windows
Forms, Windows Presentation Foundation, Windows Store and
Microsoft Silverlight. It can produce both native code and
managed code.
Visual Studio includes a code editor supporting IntelliSense as
well as code refactoring. The integrated debugger works both as
a source-level debugger and a machine-level debugger. Other
built-in tools include a forms designer for building GUI
applications, web designer, class designer, and database schema
designer. It accepts plug-ins that enhance the functionality at
almost every level—including adding support for source-control
systems (like Subversion) and adding new toolsets like editors
and visual designers for domain-specific languages or toolsets for
other aspects of the software development lifecycle (like the
Team Foundation Server client: Team Explorer).
Visual Studio supports different programming languages and
allows the code editor and debugger to support (to varying
degrees) nearly any programming language, provided a language-
specific service exists. Built-in languages include C, C++ and
C++/CLI (via Visual C++), VB.NET (via Visual Basic .NET), C# (via
Visual C#), and F# (as of Visual Studio 2010). Support for other
languages such as M, Python, and Ruby among others is available
via language services installed separately. It also supports
XML/XSLT, HTML/XHTML, JavaScript and CSS.
10. Training Report on TechnoGeek app
00220902712
10f
Microsoft provides "Express" editions of its Visual Studio at no
cost. Commercial versions of Visual Studio along with select past
versions are available for free to students via Microsoft's
DreamSpark program.
Features
Code editor
Debugger
Designer
11. Training Report on TechnoGeek app
00220902712
11f
Visual Studio Designers
Visual Studio includes a host of visual designers to aid in the development of
applications. These tools include:
Windows Forms Designer
The Windows Forms designer is used to build GUI applications using
Windows Forms. Layout can be controlled by housing the controls inside
other containers or locking them to the side of the form. Controls that display
data (like textbox, list box, grid view, etc.) can be bound to data sources like
databases or queries. Data-bound controls can be created by dragging items
from the Data Sources window onto a design surface. The UI is linked with
code using an event-driven programming model. The designer generates
either C# or VB.NET code for the application.
WPF Designer
The WPF designer, codenamed Cider, was introduced with Visual Studio
2008. Like the Windows Forms designer it supports the drag and drop
metaphor. It is used to author user interfaces targeting Windows Presentation
Foundation. It supports all WPF functionality including data binding and
automatic layout management. It generates XAML code for the UI. The
generated XAML file is compatible with Microsoft Expression Design, the
designer-oriented product. The XAML code is linked with code using a code-
behind model.
Web designer/development
Visual Studio also includes a web-site editor and designer that allows web
pages to be authored by dragging and dropping widgets. It is used for
developing ASP.NET applications and supports HTML, CSS and JavaScript.
It uses a code-behind model to link with ASP.NET code. From Visual Studio
2008 onwards, the layout engine used by the web designer is shared with
Microsoft Expression Web. There is also ASP.NET MVC support for MVC
technology as a separate download and ASP.NET Dynamic Data project
available from Microsoft.
12. Training Report on TechnoGeek app
00220902712
12f
Class designer
The Class Designer is used to author and edit the classes (including its
members and their access) using UML modeling. The Class Designer can
generate C# and VB.NET code outlines for the classes and methods. It can
also generate class diagrams from hand-written classes.
Data designer
The data designer can be used to graphically edit database schemas, including
typed tables, primary and foreign keys and constraints. It can also be used to
design queries from the graphical view.
Mapping designer
From Visual Studio 2008 onwards, the mapping designer is used by LINQ to
SQL to design the mapping between database schemas and the classes that
encapsulate the data. The new solution from ORM approach, ADO.NET
Entity Framework, replaces and improves the old technology.
Open Tabs Browser
The open tabs browser is used to list all open tabs and to switch
between them. It is invoked using CTRL+TAB.
Properties Editor
The Properties Editor tool is used to edit properties in a GUI pane
inside Visual Studio. It lists all available properties (both read-only and
those which can be set) for all objects including classes, forms, web
pages and other items.
Object Browser
The Object Browser is a namespace and class library browser for
Microsoft .NET. It can be used to browse the namespaces (which are
arranged hierarchically) in managed assemblies. The hierarchy may or
may not reflect the organization in the file system.
13. Training Report on TechnoGeek app
00220902712
13f
Solution Explorer
In Visual Studio parlance, a solution is a set of code files and other
resources that are used to build an application. The files in a solution
are arranged hierarchically, which might or might not reflect the
organization in the file system. The Solution Explorer is used to
manage and browse the files in a solution.
Team Explorer
Team Explorer is used to integrate the capabilities of Team Foundation
Server, the Revision Control System into the IDE (and the basis for
Microsoft's CodePlex hosting environment for open source projects). In
addition to source control it provides the ability to view and manage
individual work items (including bugs, tasks and other documents) and
to browse TFS statistics. It is included as part of a TFS install and is
also available as a download for Visual Studio separately. Team
Explorer is also available as a stand-alone environment solely to access
TFS services.
Data Explorer
Data Explorer is used to manage databases on Microsoft SQL Server
instances. It allows creation and alteration of database tables (either by
issuing T-SQL commands or by using the Data designer). It can also be
used to create queries and stored procedures, with the latter in either T-
SQL or in managed code via SQL CLR. Debugging and IntelliSense
support is available as well.
Server Explorer
The Server Explorer tool is used to manage database connections on an
accessible computer. It is also used to browse running Windows
Services, performance counters, Windows Event Log and message
queues and use them as a datasource.
14. Training Report on TechnoGeek app
00220902712
14f
Dotfuscator Software Services Community Edition
Visual Studio includes a free 'light' version of PreEmptive Solutions'
Dotfuscator product for code obfuscation and application-size
reduction. Starting with Visual Studio 2010, this version of Dotfuscator
will include Runtime Intelligence capabilities that allow authors to
gather end-user usage, performance, and stability information from
their applications running in production.
Text Generation Framework
Visual Studio includes a full text generation framework called T4
which enables Visual Studio to generate text files from templates either
in the IDE or via code.
ASP.NET Web Site Administration Tool
The ASP.NET Web Site Administration Tool allows for the
configuration of ASP.NET websites.
Visual Studio Tools for Office
Visual Studio Tools for Office is a SDK and an add-in for Visual
Studio that includes tools for developing for the Microsoft Office suite.
Previously (for Visual Studio .NET 2003 and Visual Studio 2005) it
was a separate SKU that supported only Visual C# and Visual Basic
languages or was included in the Team Suite. With Visual Studio 2008,
it is no longer a separate SKU but is included with Professional and
higher editions. A separate runtime is required when deploying VSTO
solutions.
15. Training Report on TechnoGeek app
00220902712
15f
Extensibility
Visual Studio allows developers to write extensions for Visual Studio to extend its
capabilities. These extensions "plug into" Visual Studio and extend its functionality.
Extensions come in the form of macros, add-ins, and packages. Macros represent
repeatable tasks and actions that developers can record programmatically for saving,
replaying, and distributing. Macros, however, cannot implement new commands or
create tool windows. They are written using Visual Basic and are not compiled.
Add-Ins provide access to the Visual Studio object model and can interact with the
IDE tools. Add-Ins can be used to implement new functionality and can add new
tool windows. Add-Ins are plugged into the IDE via COM and can be created in any
COM-compliant languages. Packages are created using the Visual Studio SDK and
provide the highest level of extensibility. They can create designers and other tools,
as well as integrate other programming languages. The Visual Studio SDK provides
unmanaged APIs as well as a managed API to accomplish these tasks. However, the
managed API isn't as comprehensive as the unmanaged one. Extensions are
supported in the Standard (and higher) versions of Visual Studio 2005. Express
Editions do not support hosting extensions.
Visual Studio 2008 introduced the Visual Studio Shell that allows for development
of a customized version of the IDE. The Visual Studio Shell defines a set of
VSPackages that provide the functionality required in any IDE. On top of that, other
packages can be added to customize the installation. The Isolated mode of the shell
creates a new AppId where the packages are installed. These are to be started with a
different executable. It is aimed for development of custom development
environments, either for a specific language or a specific scenario. The Integrated
mode installs the packages into the AppId of the Professional/Standard/Team
System editions, so that the tools integrate into these editions. The Visual Studio
Shell is available as a free download.
After the release of Visual Studio 2008, Microsoft created the Visual Studio
Gallery. It serves as the central location for posting information about extensions to
Visual Studio. Community developers as well as commercial developers can upload
information about their extensions to Visual Studio .NET 2002 through Visual
Studio 2010. Users of the site can rate and review the extensions to help assess the
quality of extensions being posted. RSS feeds to notify users on updates to the site
and tagging features are also planned.
16. Training Report on TechnoGeek app
00220902712
16f
1 Introduction
The following subsections of the Software Requirements Specifications (SRS) document
provide an overview of the entire SRS.
1.2 Purpose
The Software Requirements Specification (SRS) will provide a detailed description
of the requirements for the TECHNOGEEK app. This SRS will allow for a complete
understanding of what is to be expected of the TECHNOGEEK app to be constructed.
The clear understanding of the TECHNOGEEK app and its’ functionality will allow for
the correct software to be developed for the end user and will be used for the development
of the future stages of the project. This SRS will provide the foundation for the project.
From this SRS, the TECHNOGEEK app can be designed, constructed, and finally tested.
This SRS will be used by the software engineers constructing the TECHNOGEEK app
and the hotel end users. The software engineers will use the SRS to fully understand the
expectations of this TECHNOGEEK app to construct the appropriate software. The end
users will be able to use this SRS as a “test” to see if the software engineers will be
constructing the system to their expectations. If it is not to their expectations the end
users can specify how it is not to their liking and the software engineers will change the
SRS to fit the end users’ needs.
1.3 Scope
The software product to be produced is a TECHNOGEEK app which will
automate the major Technology News. The first subsystem is a Facebook TechnGeek
page feed. The second subsystem is the TechnoGeek Blog. The third subsystem is a
Facebook Gamerz page and all games news . The fourth subsystem is a YouTube
TechnoGeek channel and all tech videos .These four subsystems functionality will be
described in detail in section 2-Overall Description.
The TECHNOGEEK app’s objectives is to provide all Latest Technology News around
the Globe. The end users’ day-to-day jobs of knowing the latest tech news will be
simplified by a considerable amount through the automated system. The system will be
able to handle many services to take care of all customers in a quick manner. The system
should be user appropriate, easy to use, provide easy recovery of errors and have an
overall end user high subjective satisfaction.
1.4 Definitions, Acronyms, and Abbreviations.
SRS – Software Requirements Specification
TG – TechnoGeek
Subjective satisfaction – The overall satisfaction of the system
End users – The people who will be actually using the system
1.5 Overview
17. Training Report on TechnoGeek app
00220902712
17f
The SRS is organized into two main sections. The first is The Overall Description
and the second is the Specific Requirements. The Overall Description will describe the
requirements of the TECHNOGEEK app from a general high level perspective. The
Specific Requirements section will describe in detail the requirements of the system.
2 The Overall Description
Describes the general factors that affect the product and its requirements. This section
does not state specific requirements. Instead it provides a background for those
requirements, which are defined in section 3, and makes them easier to understand.
2.1 Product Perspective
The TECHNOGEEK app is an independent stand–alone windows app. It is totally self
contained.
Hardware Interfaces
The TECHNOGEEK app will be placed on PC’s which is running Windows 8 or 8.1 by
downloading it form Windows App Store.
Software Interfaces
All databases for the TECHNOGEEK app will be configured using MS App Studio.
These databases include TechnoGeek facebook pages and youtube channels. These can
not be modified by the end users. The Facebook pages database will include the
TechnoGeek and Gamerz page. There is no need of customer data , just download the
app form Windows App Store and start using it.You can review the app on Windows App
Store and you can give feedback , rating stars and comment on the Store.
2.2 Product Functions
About Page
All the information about the app.
All facebook pages URL.
All Youtube channel URL.
Facebook pages “TechnoGeek” and “Gamerz”
TechnoGeek: All latest tech news with real time updating system.
Gamerz: All latest gaming news with real time update.
TechoGeek Blog
Provide the latest tech news .
Latest Games Reviews.
18. Training Report on TechnoGeek app
00220902712
18f
Top Gadgets reviews and comparasions.
Youtube Channels : TechnoGeek
All the latest tech news with category called NOD : News Of the Day
Tips and Trick of computer world.
2.3 User Characteristics
Educational level of TechnoGeek app – Low
Experience of TechnoGeek app – None
Technical Expertise – None
2.4 Apportioning of Requirements
The audio and visual alerts will be there in the app.
It provides high graphic videos and audio.
2.5 Assumptions and Dependencies
- The system is not required to save generated reports.
- Credit card payments are not included
- The TechnoGeek app is free on Windows App Store.
19. Training Report on TechnoGeek app
00220902712
19f
3 Specific Requirements
This section contains all the software requirements at a level of detail, that when combined
with the system context diagram, use cases, and use case descriptions, is sufficient to
enable designers to design a system to satisfy those requirements, and testers to test that
the system satisfies those requirements.
3.1 External Interfaces
The TECHNOGEEK app will use the standard input/output devices for a personal
computer. This includes the following:
Keyboard
Mouse
Monitor
Speakers
User Interfaces
The User Interface Screens are described in table 1.
Table 1: Hotel Management User Interface Screens
Screen Name Description
About All the info about TechnoGeek App.
Facebook TechnoGeek Page Real time updation with facebook page.
Provides all latest technology news , review and much more.
Facebook Gamerz Page Real time updation with facebook page.
Provides all latest game news , review and much more.
Youtube Channel :
TechnoGeek
Provides latest tech reviews , gadgets comparasions and much
more.
Software Interfaces
The TechnoGeek app shall interface with an Adobe flash player and inbuilt audio player.
Hardware Interfaces
The system shall run on a Microsoft Windows based system.
20. Training Report on TechnoGeek app
00220902712
20f
Communication Interfaces
The system shall be a standalone product that does require Internet connection.
3.2 Functional Requirements
Functional requirements define the fundamental actions that system must perform.
The functional requirements for the system are divided into three main categories,
Facebook Page feed , Youtube channel and Blog . For further details, refer to the use
cases.
1. Facebook page
1.1. The app shall receive updates from facebook page “TechnoGeek”.
1.2. The app shall receive updates from facebook page “Gamerz”.
1.3. The app shall provide full access to the content.
2. Videos
2.1. The app shall provide latest tech news NOD.
2.2. The app shall provide full access to the content.
2.3. The app shall provide tips and tricks for computer .
3. TechnoGeek Blog
3.1. The app shall provide latest games reviews.
3.2. The app shall provide tips and tricks for computer .
3.3. The app shall provide latest gadgets reviews and comparasions.
3.3 Nonfunctional Requirements
Functional requirements define the needs in terms of performance, logical database
requirements, design constraints, standards compliance, reliability, availability, security,
maintainability, and portability.
Performance Requirements
Performance requirements define acceptable response times for system functionality.
The load time for user interface screens shall take no longer than ten seconds.
The log in information shall be verified within five seconds.
Queries shall return results within five seconds.
Design Constraints
The TechnoGeek app shall be a stand-alone system running in a Windows environment.
The system shall be developed using Visual Studio with update 2.
21. Training Report on TechnoGeek app
00220902712
21f
Standards Compliance
There shall be consistency in variable names within the system. The graphical user
interface shall have a consistent look and feel.
Reliability
Specify the factors required to establish the required reliability of the software system at
time of delivery.
Availability
The system shall be available 24*7.
Security
No need to provide any kind of user data so it is secure.
Maintainability
The TECHNOGEEK app is being developed in Visual Studio. It shall be easy to maintain.
Portability
The TechnGeek app shall run in any Microsoft Windows 8 and 8.1 enviornment.
22. Training Report on TechnoGeek app
00220902712
22f
TechnoGeek app screensots of all sections:
START MENU