Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Assignment 1 Frontsheet Java - Compress

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

ASSIGNMENT FRONT SHEET <No.

1>

Qualification BTEC HND Diploma in Computing and Systems Development

Unit number and


Unit 41: Programming in .Net
title

Assignment due Assignment submitted

Learner’s name Assessor name

Learner declaration:
I certify that the work submitted for this assignment is my own and research sources are fully acknowledged.

Learner signature Date

Grading grid

P1. P1. P1. P2. P2. P2. M1 M2 D1 D2 D3


1 2 3 1 2 3

1
Assignment title Simulation in .NET for “Mobilize You”

In this assignment, you will have opportunities to provide evidence against the following criteria.
Indicate the page numbers where the evidence can be found.

Assessment criteria Expected evidence Task Assessor’s Feedback


no.

LO1. Understand the principles of programming using a .NET framework

A Written document which 1


1.1 discuss the
explains the feature,
principles,
architecture and components
characteristics and
of .NET framework
features of
programming using
1.2 critically compare
different types of .NET
framework
architectures

2
1.3 critically evaluate
the components that
support the .NET
framework

LO2. Be able to design .NET solutions

The design must include “use 2


2.1 design a .NET
case” diagrams for the most
programming solution
important features; class
to a given problem
diagrams for all objects
identified as well as class

3
The report should contain written
analysis to justify the design you
have produced in task 2. You
need to state what features have
2.2 explain the
been included/excluded and why
components and data
certain features have been used
and file structures
over others (where applicable)
required to implement
Example code can be used to
a given design
help clarify features. You should
include diagrams from your
design

Provide the reasons and benefits


of the solution. Evaluate the
2.3 evaluate potential
possibility that the solution will
delivery environments
work with supporting mobile
and interaction
environment

4
Summative feedback

Assessor’s
Date
Signature

Assessment criteria Expected Evidence Feedback


(note on Merit/Distinction if applicable)
Merit descriptor No. (M1)

Merit descriptor No. (M2)

Merit descriptor No. (M3)

Distinction descriptor No.


(D1)
Distinction descriptor No.
(D2)
5
Distinction descriptor No.
(D3)

6
1.1 discuss the principles, characteristics and features of programming using a .NET
framework

The Microsoft .NET Framework is a software framework that can be installed on


computers running Microsoft Windows operating systems. It includes a large library
of coded solutions to common programming problems and a virtual machine that
manages the execution of programs written specifically for the framework. The .NET
Framework is a Microsoft offering and is intended to be used by most new
applications created for the Windows platform.

The framework's Base Class Library provides a large range of features


including user interface, data and data access, database connectivity, cryptography,
web application development, numeric algorithms, and network communications.
The class library is used by programmers, who combine it with their own code to
produce applications.

Programs written for the .NET Framework execute in a software environment


that manages the program's runtime requirements. Also part of the .NET Framework,
this runtime environment is known as the Common Language Runtime (CLR). The
CLR provides the appearance of an application virtual machine so that programmers
need not consider the capabilities of the specific CPU that will execute the program.
The CLR also provides other important services such as security, memory
management, and exception handling. The class library and the CLR together
constitute the .NET Framework.

o Type safety:

.NET framework performs operations on the values or objects for which .NET
framework requires each value or object has a type and which reference to the value
or object type

o Manage code execution

7
.NET framework manages the state of the object while executing the .NET
applications

.NET framework automatically allocates memory and provides garbage collection


mechanism to de – allocate memory

o Side by side execution

.NET framework allows different version of the same application to run on the same
machine by using asemblies of different versions. Assemblies consist of IL code and
metadata. Where metadata determines the application dependencies. By this .NET
framework runtime executes multiple version of assembly and solves the major
problem of legacy development environment

Principles

Abstraction

The word abstract means a concept or an idea not associated with any specific
instance. In programming we apply the same meaning of abstraction by making
classes not associated with any specific instance.

The abstraction is done when we need to only inherit from a certain class, but not
need to instantiate objects of that class. In such case the base class can be regarded
as "Incomplete". Such classes are known as an "Abstract Base Class".

Abstract Base Class

There are some important points about Abstract Base Class :

1. An Abstract Base class can not be instantiated; it means the object of that
class can not be created.

2. Class having abstract keyword and having, abstract keyword with some of its
methods (not all) is known as an Abstract Base Class.

3. Class having Abstract keyword and having abstract keyword with all of its
methods is known as pure Abstract Base Class.

8
4. The method of abstract class that has no implementation is known as
"operation". It can be defined as abstract void method ();

5. An abstract class holds the methods but the actual implementation of those
methods is made in derived class.

Lets have a look of this code!

This is the Abstract Base Class, if I make both of its methods abstract then this class
would become a pure Abstract Base Class.

9
Now we derive a class of 'dog' from the class animal.

Here you can see we have 2 methods in the Abstract Base Class, the method eat()
has no implementation; that is why it is being declared as 'abstract' while the
method sound() has its own body so it is not declared as 'abstract'. In the derived
class we have the same name method but this method has it's body. We are doing
abstraction here so that we can access the method of derived class without any
trouble.

Inheritance

One of the most important concepts in object-oriented programming is inheritance.


Inheritance allows us to define a class in terms of another class, which makes it
easier to create and maintain an application. This also provides an opportunity to
reuse the code functionality and speeds up implementation time.

When creating a class, instead of writing completely new data members and
member functions, the programmer can designate that the new class should inherit
the members of an existing class. This existing class is called the base class, and
the new class is referred to as the derived class.

10
Polymorphism

The word polymorphism means having many forms. In object-oriented


programming paradigm, polymorphism is often expressed as 'one interface,
multiple functions'.

Polymorphism can be static or dynamic. In static polymorphism, the response to a


function is determined at the compile time. In dynamic polymorphism, it is decided
at run-time.

You can have multiple definitions for the same function name in the same scope.
The definition of the function must differ from each other by the types and/or the

11
number of arguments in the argument list. You cannot overload function
declarations that differ only by return type.

Encapsulation
Encapsulation is defined 'as the process of enclosing one or more items within a
physical or logical package'. Encapsulation, in object oriented programming
methodology, prevents access to implementation details.

Abstraction and encapsulation are related features in object oriented programming.


Abstraction allows making relevant information visible and encapsulation enables a
programmer to implement the desired level of abstraction.

Encapsulation is implemented by using access specifiers. An access


specifier defines the scope and visibility of a class member. C# supports the
following access specifiers:

 Public

 Private

 Protected

 Internal

 Protected internal

Private access specifier allows a class to hide its member variables and member
functions from other functions and objects. Only functions of the same class can
access its private members. Even an instance of a class cannot access its private
members.

Let us see an example of Department class. To manipulate the data in that class
(String departname) we define an accessor (get method) and mutator (set method).

12
Like the above way we can protect the private data from the outside world. Here we

use two separate methods to assign and get the required data.

In the above example we can't access the private data departname from an object
instance. We manipulate the data only using those two methods.

Features and characteristics

o Interoperability

Because interaction between new and older applications is commonly required,


the .NET Framework provides means to access functionality that is implemented
in programs that execute outside the .NET environment. Access to COM
components is provided in the System.Runtime.InteropServices and
System.EnterpriseServices namespaces of the framework

o Common Runtime Engine

The Common Language Runtime (CLR) is the virtual machine component of


the .NET Framework. All .NET programs execute under the supervision of the CLR,

13
guaranteeing certain properties and behaviors in the areas of memory
management, security, and exception handling.

o Language Independence

The .NET Framework introduces a Common Type System, or CTS. The CTS
specification defines all possible datatypes and programming constructs
supported by the CLR and how they may or may not interact with each other
conforming to the Common Language Infrastructure (CLI) specification. Because
of this feature, the .NET Framework supports the exchange of types and object
instances between libraries and applications written using any conforming .NET
language.

o Simplified Deployment

The .NET Framework includes design features and tools that help manage the
installation of computer software to ensure that it does not interfere with
previously installed software, and that it conforms to security requirements.

o Security

The design is meant to address some of the vulnerabilities, such as buffer


overflows, that have been exploited by malicious software. Additionally, .NET
provides a common security model for all applications.

o Portability

The design of the .NET Framework allows it to theoretically be platform agnostic,


and thus cross-platform compatible. That is, a program written to use the
framework should run without change on any type of system for which the
framework is implemented.

14
o Common Language Runtime

Explains the features and benefits of the common language runtime, a run-time
environment that manages the execution of code and provides services that
simplify the development process.

o Assemblies

Defines the concept of assemblies, which are collections of types and resources
that form logical units of functionality. Assemblies are the fundamental units of
deployment, version control, reuse, activation scoping, and security permissions.

o Application Domains

Explains how to use application domains to provide isolation between


applications.

o Runtime Hosts

Describes the runtime hosts supported by the .NET Framework, including


ASP.NET, Internet Explorer, and shell executables.

o Common Type System

Identifies the types supported by the common language runtime.

o Metadata and Self-Describing Components

Explains how the .NET Framework simplifies component interoperation by


allowing compilers to emit additional declarative information, or metadata, into
all modules and assemblies.

15
o Cross-Language Interoperability

Explains how managed objects created in different programming languages can


interact with one another.

o .NET Framework Security

Describes mechanisms for protecting resources and code from unauthorized code
and unauthorized users.

o .NET Framework Class Library

Introduces the library of types provided by the .NET Framework, which expedites
and optimizes the development process and gives you access to system
functionality.

1.2 critically compare different types of .NET framework architectures

.NET is tiered, modular, and hierarchal. Each tier of the .NET Framework is a layer of
abstraction. .NET languages are the top tier and the most abstracted level. The
common language runtime is the bottom tier, the least abstracted, and closest to
the native environment. This is important since the common language runtime

16
works closely with the operating environment to manage .NET applications. The
.NET Framework is partitioned into modules, each with its own distinct responsibility.
Finally, since higher tiers request services only from the lower tiers, .NET is
hierarchal. The architectural layout of the .NET Framework is illustrated below.

Figure : An overview of the .NET architecture.

.NET Framework is a managed environment. The common language runtime


monitors the execution of .NET applications and provides essential services. It
manages memory, handles exceptions, ensures that applications are well-behaved,
and much more.

17
Language interoperability is one goal of .NET. .NET languages share a common
runtime (the common language runtime, a common class library), the Framework
Class Library (FCL), a common component model, and common types. In .NET, the
programming language is a lifestyle choice. Except for subtle differences, C#,
VB.NET, or JScript.NET offer a similar experience.

.NET abstracts lower-level services, while retaining most of their flexibility. This is
important to C-based programmers, who shudder at the limitations presented in
Visual Basic 6 and earlier.

Managed Languages and Common Language Specification

.NET supports managed and unmanaged programming languages. Applications


created from managed languages, such as C# and VB.NET, execute under the
management of a common runtime, called the common language runtime.

Common Type System

The Common Type System (CTS) is a catalog of .NET types.System.Int32,


System.Decimal, System.Boolean, and so on. Developers are not required to use
these types directly. These types are the underlying objects of the specific data
types provided in each managed language. The following is the code for declaring
an integer in C# and Visual Basic .NET. Either syntax maps to a Sys tem.Int32
object.

.NET Framework Class Library

The .NET Framework Class Library (FCL) is a set of managed classes that provide
access to system services. File input/output, sockets, database access, remoting,
and XML are just some of the services available in the FCL. Importantly, all the .NET
languages rely on the same managed classes for the same services. This is one of
the reasons that, once you have learned any .NET language, you have learned 40

18
percent of every other managed language. The same classes, methods, parameters,
and types are used for system services regardless of the language. This is one of the
most important contributions of FCL.

1.3 critically evaluate the components that support the .NET framework
.NET Components

In-Process Components

In .NET, components built as DLLs run within the process space of the host
application and share memory and processor time with their host applications. At
run time, the component (which is part of the host application's assembly and is
referenced by its manifest) is loaded from disk and added to the host application's
process space. Because no remote procedure calls are generated to mediate
communication between the component and its host, setting and reading property
values, invoking methods, and responding to events raised by the component occurs
very quickly.

Out-of-Process Components

An alternate architecture involves server applications that run as independent


processes outside of the client application process space. These server applications
usually (but not always) have an EXE file name extension. When Windows loads an
out-of-process component, a separate process space is created for the component,
and Windows manages the out-of-process component's resource requirements
independently of the client application. Windows mediates the dialog between the
server application (that is, the component) and the client (the consumer) by passing
messages between them.

.NET Framework Languages

CLI Languages are computer programming languages that are used to produce
libraries and programs that conform to the Common Language Infrastructure (CLI)
19
specifications. With some notable exceptions, most CLI languages compile entirely
to the Common Intermediate Language (CIL), an intermediate language that can be
executed using an implementation of CLI such as the Common Language
Runtime (CLR, a part of the Microsoft .NET Framework), Mono, or Portable.NET. Some
of these languages also require the Dynamic Language Runtime (DLR).

.NET Framework versions

Microsoft started development on the .NET Framework in the late 1990s originally
under the name of Next Generation Windows Services (NGWS). By late 2001 the first
beta versions of .NET 1.0 were released. [1] The first version of .NET Framework was
released on 13 February 2002, bringing managed code to Windows NT
4.0, 98, 2000, ME and XP.

Since the first version, Microsoft has released nine more upgrades for .NET
Framework, seven of which have been released along with a new version of Visual
Studio. Two of these upgrades, .NET Framework 2.0 and 4.0, have
upgraded Common Language Runtime (CLR). New versions of .NET Framework
replace older versions when the CLR version is the same.

The .NET Framework family also includes two versions for mobile or Embedded
device use. A reduced version of the framework, the .NET Compact Framework, is
available on Windows CE platforms, including Windows Mobile devices such
as smartphones. Additionally, the .NET Micro Framework is targeted at severely
resource-constrained devices.

.NET Framework Version History

.NET Introduced IDE Features


Version
1) Introduced RyuJIT, a new JIT compiler for
4.6 Visual Studio 2015
64-bit systems
2) Introduced Open Source .Net Framework
Packages

20
3) Support for Code page encodings
4) Improvements to event tracing
1) Includes performance and debugging
4.5.1 Visual Studio 2013
improvements
2) Support for automatic binding redirection
3) Expanded support for Windows Store apps
1) Features Enhancements to CLR 4.0
4.5 Visual Studio 2012
2) Async Support
3) Support for building Windows Store apps
4) Features Enhancement to WPF, WCF, WF,
and ASP.NET
1) Introduced CLR 4.0
4.0 Visual Studio 2010
2) Managed Extensibility Framework (MEF)
3) Dynamic Language Runtime (DLR)
4) Task Parallel Library
1) Built-In AJAX Support
3.5 Visual Studio 2008
2) LINQ
3) Dynamic Data
4) Multi-targeting Framework Support
1) Windows Presentation Foundation (WPF)
3.0 Visual Studio 2005
2) Windows Communications Foundation
(WCF)
3) Windows Workflow Foundation (WF), and
CardSpace
1) Introduced CLR 2.0
2.0 Visual Studio 2005
2) Generics and generic collections
3) Partial classes
4) Nullable types
5) Anonymous methods
6) Introduced many new controls and features
to ASP.NET
1) Features Enhancement to ASP.NET and
1.1 Visual Studio .NET
ADO.NET
2003
2) Built-in support for mobile ASP.NET controls
3) Security Enhancement
4) Built-in support for ODBC and databases
5) Internet Protocol version 6 (IPv6) support
1) Introduced CLR 1.0
1.0 Visual Studio .NET
2) Support for Object-oriented Web
application development

21
3) Use of DLL class libraries

2.1 design a .NET programming solution to a given problem

A system has been designed for vehicle rental system, there is only manager can
use the system

Use Case Diagram

In this application, all users have to log in before working

 Sale staff: this user can add – update – delete – view customer, vehicle, rent
 Admin: this user can view report of the rent management system

Data Flow Diagram

22
ERD

23
Draft UI Design

24
Class Diagram

25
26
27
2.2 explain the components and data and file structures required to implement a
given design

Components Details

Crystal report: this is use to report the


rental system

ConnectDB: this is used to connect the


application to database
Customer, CustomerDAO, ICustomer:
these classes and interface are used to
perform customer’s features
Vehicle, VehicleDAO, IVehicle: these
classes and interface are used to perform
vehicle’s feature
Rent, RentDAO, IRent: these classes
and interface are used to perform rent’s
features
RentDetail, RentDetailDAO, IrentDetail:
these classes and interface are used to
perform rentdetail’s features
User,UserDAO, IUser: these classes
and interface are used to perform
manager’s features

28
CrystalReport1: this is crystal report, it
is used to report for the application
frmMain: this is main frame of the
application
frmLogin: this is login frame to the
system
frmCustomer: this is customer frame, it
performs customer’s features such as
add – update – delete - view
frmVehicle: this is vehicle frame, it
performs vehicle’s features such as add –
update – delete - view
frmRent: this is customer frame, it
performs rent’s features such as add –
update – delete – view
frmReport: this frame is used to report
for the application

29
Number Variable name Class Value type Initial value
1 id Vehicle String null
2 name Vehicle String null
3 make Vehicle String null
4 addon Vehicle String null
5 registyear Vehicle String null
6 rentperday Vehicle float null
7 vehicletype Vehicle String null
8 id Rent String null
9 customerid Rent String null
10 productid Rent String null
11 rentdate Rent String null
12 returndate Rent String null
13 total Rent float null
14 phone Customer String null
15 address Customer String null
16 ssn Customer String null
17 name customer String null

2.3 evaluate potential delivery environments and interaction

30
o .NET Framework is heavily invested by one of the world’s richest
organizations
o Skill base development in .NET is deliberate, schools of training exist, but
unlike in Java, the framework is pretty much the same against hoards of
optional frameworks as it is with Java
o MSDN library is well maintained and MVP’s are avialable with enough
recognition to address challenging product development issues
o Highly scalable robust and far more secure in its code base protection
against the Open Source coding languages which at times need code
obfuscation
o Backward compatibility apart, has full service coverage of everything that
technology has to offer towards software product development
o Is the only framework which comes with Software Development Kits and
Methodologies of Microsoft, thus enabling the eons of challenge with
‘Getting the Product Right’ at one go.
o Built for security as in Proprietary code level security, cannot be replaced
for its compilation levels except when doing programming based on C or
C++
o Is not reliant on community for updates and version upkeeps
o Brings systemic approach towards software architecture and applies to
various Enterprise Architecture Schools and Support Systems Integration,
Cross Platform Development and Mobile, Cloud Computing through the
Azure Cloud Platforms

Advantages of .NET

o It allows the use of multiple languages


o It has horizontal scalability
o .NET creates a unified environment that allows developers to create
programs in C++, Java or Virtual Basic
o Interfaces easily with Windows or Microsoft
o All tools and IDEs have been pre-tested and are easily available in the
Microsoft Developer Network.
o UI best practices are more consistent
o Language integration is seamless, as you can call methods from C# to
VB.NET

31

You might also like