33
G.B. Pant Govt. Engineering College (Guru Gobind Singh Indraprastha University) SUMMER INTERNSHIP REPORT Undertaken at MICROSOFT VIRTUAL ACADEMYIN C#Submitted by: ANUP KUMAR SINGH 00220902712 CSE (5 TH SEM) MVA

TechnoGeek training report

Embed Size (px)

Citation preview

Page 1: TechnoGeek training report

G.B. Pant Govt. Engineering College (Guru Gobind Singh Indraprastha University)

SUMMER INTERNSHIP REPORT Undertaken at

“MICROSOFT VIRTUAL

ACADEMY” IN “C#”

Submitted by: ANUP KUMAR SINGH 00220902712 CSE (5TH SEM)

MVA

Page 2: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

2

f

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

Page 3: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

3

f

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

Page 4: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

4

f

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

Page 5: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

5

f

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.

Page 6: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

6

f

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.

Page 7: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

7

f

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

Page 8: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

8

f

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

Page 9: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

9

f

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.

Page 10: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

10

f

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

Page 11: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

11

f

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.

Page 12: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

12

f

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.

Page 13: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

13

f

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.

Page 14: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

14

f

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.

Page 15: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

15

f

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.

Page 16: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

16

f

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

Page 17: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

17

f

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.

Page 18: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

18

f

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.

Page 19: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

19

f

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.

Page 20: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

20

f

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.

Page 21: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

21

f

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.

Page 22: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

22

f

TechnoGeek app screensots of all sections:

START MENU

Page 23: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

23

f

About Page

Page 24: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

24

f

TechnoGeek Facebook Page

Page 25: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

25

f

Detailed Page

Page 26: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

26

f

TechnoGeek Videos

Page 27: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

27

f

Detailed Page : Play Videos

Page 28: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

28

f

Gamerz Facebook Page

Page 29: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

29

f

All Gamerz News

Page 30: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

30

f

TechnoGeek Blog

Page 31: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

31

f

Detailed Page

Page 32: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

32

f

TechnoGeek App Bar

Page 33: TechnoGeek training report

Training Report on TechnoGeek app

00220902712

33

f

TechnoGeek App Permissions