Assignment
Assignment
Assignment
I feel great pleasure to acknowledge this assignment as I feel very proud & very thankful to
my lecturer Mr.Praveen Mahendran for helping me to understand this module “.NET With
OOP cocepts” and spending his precoius time on expalining the questions and problems I
came up with each tasks in it and guided me to complete this assignment successfully.
I also wish to thank our batch mates, friends who shared their knowledge and was a support
to complete the assignment.
I too wish to express my sincere gratitude to Esoft Computer Studies Management for
providing all facilities and resources to complete this assignment effectively.
Thank You
Sarah Angelo Peter
(Batch 58 HND in Computing)
pg. 1
Table of Contents
Task 1.............................................................................................................................................................. 2
Prepare a simple proposal to the Metro Campus to convince them on preparing the
above system by using C#.Net Programming language instead of the other
programming languages. Your proposal must discuss the relevant principles,
characteristics and features of C#.Net programming & .Net Framework relating to
Object Oriented Concepts.......................................................................................................................2
Task 2.............................................................................................................................................................. 5
Task 3.............................................................................................................................................................. 8
The .net framework components like CLR, Class library, and their benefits.......................8
Task4............................................................................................................................................................ 12
Identify the classes from the scenario and list all the attributes and methods of each
class you have identified using UML notation. Also draw the component diagram for
above scenario........................................................................................................................................... 12
ER DIAGRAM......................................................................................................................................... 16
Task 5........................................................................................................................................................... 17
Task 6........................................................................................................................................................... 20
Task 7........................................................................................................................................................... 22
Task 8........................................................................................................................................................... 37
Task 9........................................................................................................................................................... 42
Task 10......................................................................................................................................................... 46
pg. 2
Provide a test plan and test the program solution, analyze actual test results against
expected results to identify discrepancies........................................................................................46
Task 11......................................................................................................................................................... 51
pg. 3
Task 1
Interoperability
Language interoperability is the ability of code to interact with code that is written using a
different programming language. Language interoperability can help maximize code reuse
and, therefore, improve the efficiency of the development process. Every code written in
any .NET language and compiled could be reused from other .NET language.
CLR Engine
Common Language Runtime (CLR), an application virtual machine that provides services
such as security, memory management, and exception handling. (As such, computer code
written using .NET Framework is called "managed code".) FCL and CLR together
constitute .NET Framework.
pg. 4
CLR is a component divided in sub components which perform their own respective tasks.
CLR as the name specifies provides a common runtime environment for different languages
like VC++, C#, VB.NET, J# and JavaScript. The code written in these languages is compiled
with their respective language compliers to give a common intermediate language called
MSIL (Microsoft Intermediate Language) and Metadata. This files generated are called as PE
(Portable Executable).
The Common Language Runtime (CLR), the virtual machine component of Microsoft's .NET
framework, manages the execution of .NET programs. A process known as just-in-time
compilation converts compiled code into machine instructions which the computer's CPU
then executes.[1] The CLR provides additional services including memory management, type
safety, exception handling, garbage collection, security and thread management. All programs
written for the .NET framework, regardless of programming language, are executed by the
CLR. All versions of the .NET framework include CLR.
Language independence
.NET Framework introduces a Common Type System (CTS) that defines all possible data
types and programming constructs supported by CLR and how they may or may not interact
with each other conforming to CLI specification. Because of this feature, .NET Framework
supports the exchange of types and object instances between libraries and applications written
using any conforming .NET language.
Type safety
CTS and the CLR used in .NET Framework also enforce type safety. This prevents ill-defined
casts, wrong method invocations, and memory size issues when accessing an object. This also
makes most CLI languages statically typed (with or without type inference). However,
starting with .NET Framework 4.0, the Dynamic Language Runtime extended the CLR,
allowing dynamically typed languages to be implemented atop the CLI.
pg. 5
Portability
While Microsoft has never implemented the full framework on any system except Microsoft
Windows, it has engineered the framework to be cross-platform, and implementations are
available for other operating systems (see Silverlight and § Alternative implementations).
Microsoft submitted the specifications for CLI (which includes the core class libraries, CTS,
and CIL), C#, and C++/CLI to both Ecma International (ECMA) and International
Organization for Standardization (ISO), making them available as official standards. This
makes it possible for third parties to create compatible implementations of the framework and
its languages on other platforms.
Abbreviated as BCL, base class library is a functionality library that is capable of using all
languages supported by the .NET Framework. The BCL offers classes that summarize various
common roles, which include manipulation of XML documents, database interaction, writing
and reading files. It also consists of various interfaces that can be re used and integrated
within the common language runtime.
GARBAGE COLLECTION...cont.
The GC used by.NET Framework is actually ’generational’. Objects are assigned a
generation; newly created objects belong to Generation 0’.The Objects that survive a garbage
collection are tagged as ’Generation1’,andThe Generation 1 Objects that survive another
collection are ‘Generation 2’ objects. The .NET Framework Uses up to Generation 2 objects.
pg. 6
Task 2
The only update to this version (from 2.0) is the inclusion of the following
technologies:
Windows Communication Foundation (WCF). Important to follow this technology if
you are into developing service-oriented applications.
Windows Presentation Foundation (WPF). If you are mostly developing web
applications, you probably will not be needing this.
Windows Workflow Foundation (WF).
Windows CardSpace.
.NET Framework 3.0 did not come with any version of Visual Studio. But .NET
Framework 2.0 did and it came with Visual Studio 2005
pg. 7
With new support to ASP.NET AJAX and JavaScript Object Notation (JSON) data
format, you can now expose operations from a WCF service to AJAX clients.
pg. 8
Portable Class Libraries which allow you to build assemblies that can work without
code modification on multiple platforms like Windows 7, Windows 8, Silverlight,
Windows Phone, and XBox 360.
The rest of the changes are mostly improvements on .NET Framework 4.0.
.NET Framework 4.5 was released with Visual Studio 2012.
Task 3
pg. 9
The .net framework components like CLR, Class library, and their
benefits.
Net Framework is a platform that provides tools and technologies to develop Windows, Web
and Enterprise applications. It mainly contains two components,
.Net Framework provides runtime environment called Common Language Runtime (CLR).It
provides an environment to run all the .Net Programs. The code which runs under the CLR is
called as Managed Code. Programmers need not to worry on managing the memory if the
programs are running under the CLR as it provides memory management and thread
management.
Programmatically, when our program needs memory, CLR allocates the memory for scope
and de-allocates the memory if the scope is completed.
Language Compilers (e.g. C#, VB.Net, J#) will convert the Code/Program to Microsoft
Intermediate Language (MSIL) intern this will be converted to Native Code by CLR. (See the
fig below.)
pg. 10
2. .Net Framework Class Library (FCL)
This is also called as Base Class Library and it is common for all types of applications i.e. the
way you access the Library Classes and Methods in VB.NET will be the same in C#, and it is
common for all other languages in .NET.
The following are different types of applications that can make use of .net class library.
1. Windows Application.
2. Console Application
3. Web Application.
5. Windows Services.
In short, developers just need to import the BCL in their language code and use its predefined
methods and properties to implement common and complex functions like reading and
writing to file, graphic rendering, database interaction, and XML document manipulation.
Below are the few more concepts that we need to know and understand as part of this .Net
framework.
It describes set of data types that can be used in different .Net languages in common. (i.e.),
CTS ensures that objects written in different .Net languages can interact with each other.
pg. 11
For Communicating between programs written in any .NET complaint language, the types
have to be compatible on the basic level.
Value types:
Value types directly contain their data, and instances of value types are either allocated on the
stack or allocated inline in a structure. Value types can be built-in (implemented by the
runtime), user-defined, or enumerations.
Reference types:
Reference types store a reference to the value's memory address, and are allocated on the
heap. Reference types can be self-describing types, pointer types, or interface types. The type
of a reference type can be determined from values of self-describing types. Self-describing
types are further split into arrays and class types. The class types are user-defined classes,
boxed value types, and delegates.
It is a sub set of CTS and it specifies a set of rules that needs to be adhered or satisfied by all
language compilers targeting CLR. It helps in cross language inheritance and cross language
debugging.
It describes the minimal and complete set of features to produce code that can be hosted by
CLR. It ensures that products of compilers will work properly in .NET environment.
Sample Rules:
pg. 12
1. Representation of text strings
3. Definition of static members and this is a subset of the CTS which all .NET languages are
expected to support.
4. Microsoft has defined CLS which are nothing but guidelines that language to follow so
that it can communicate with other .NET languages in a seamless manner.
pg. 13
Task4
Identify the classes from the scenario and list all the attributes and methods
of each class you have identified using UML notation. Also draw the
component diagram for above scenario
UML diagram
pg. 14
COMPONENT DIAGRAM
pg. 15
CLASS DIAGRAM
pg. 16
ER DIAGRAM
pg. 17
Task 5
Implementation is the process of having systems personnel check out and put new equipment
into use, train users, install the new application depending on the size of the organization that
will be involved in using the application and the risk associated with its use, systems
developers may choose to test the operation in only one area of the firm, say in one
department or with only one or two persons. Sometimes they will run the old and new
systems together to compare the results.
Once installed, applications are often used for much application. However, both the
organization and the users will change, and the environment will be different over weeks and
months.
Evaluation
Evaluation of the system is performed to identify its strengths and weakness. The actual
evaluation can occur along any of the following dimensions.
Operational Evaluation
Operational Evaluation: assessment of the manner in which the system functions, including
ease of use, response time, suitability of information formats, overall reliability, and level of
utilization.
pg. 18
Organization Impact
User Manager Assessment: Evaluation of the attitudes of senior and user mangers within the
organization, as well as end-users.
Development Performance
Unfortunately system evaluation does not always receive the attention it merits. Where
properly managed however, it provides a great deal of information that can improve the
effectiveness of subsequent application efforts.
System Implementation is used to bring a developed system or sub system into operational
use and turning it over to the user. It involves programmer, users and operational
management. It also needs to introduce and train the people to work with the new system.
Virtual methods enable you to work with groups of related objects in a uniform way. For
example, suppose you have a drawing application that enables a user to create various kinds
of shapes on a drawing surface.
pg. 19
Iteration – This is the act of repeating something (that ‘something’ being code statements in
the programming context).
For loops allow us to specify the number of times to repeat a block of code.
For example
A relationship between Student Management Class and Student class is known as
Association.
Both Classes can exist without each other, so Student Management and student are two
independent classes. In this kind of relationships there will not be any owner class. Both
classes have their own life cycle.
pg. 20
Task 6
For example
A relationship between Student Management Class and Student class is known as
Association.
Both Classes can exist without each other, so Student Management and student are two
independent classes. In this kind of relationships there will not be any owner class. Both
classes have their own life cycle.
Composition
Composition is a special type of Aggregation. It is known as “Is-A” relationship.
For example
A Student Management Booking Class has many Student Management class. Here Student
Management and Customer objects are dependent on each other. If we delete Student
Management class then Student Management_ Booking class doesn’t’ exist. Here University
class is an owner class.
Generalization
Generalization is the process of extracting shared characteristics from two or more classes,
and combining them into a generalized super class. Shared characteristics can be attributes,
associations, or methods.
pg. 21
Generalization is a relationship between a Parent and its Derived class. It is nothing but
inheritance.
Specialization
Specialization means creating new subclasses from an existing class. If it turns out that
certain attributes, associations, or methods only apply to some of the objects of the class, a
subclass can be created.
pg. 22
Task 7
pg. 23
pg. 24
pg. 25
pg. 26
pg. 27
pg. 28
pg. 29
Get independent feed about your system from various users
Error Handling
pg. 30
Appropriate error handling has been done in the project. All errors are routed to the pages
which process the error according to some session attribute, and display appropriate
messages. The following errors are detected and error messages are displayed:
Official: An official is a person who can book Registration for others, and can find retrieve
the complete list of Students a Classes. An official works at a campus.
CODING
Student CS Coding
pg. 31
pg. 32
Under Graduate coding
pg. 33
Post Graduate coding
pg. 34
DB Connector coding
pg. 35
pg. 36
pg. 37
Task 8
User guide
Run the form to check first
pg. 38
This is very simple user friendly system. To register student just has to click “Register” in
menu tab and fill form and click the Register button.
After it’s registered we can see the registered student in the database is the following (S109,
Meera, Undergraduate, MBA, 3)
pg. 39
Updating a student detail
pg. 40
After Update Sara has changed as Sarah and Postgraduate has changed undergraduate.
pg. 41
Deleting a Student
You can’t see anything called as Rooz or the Student ID S107 in the database anymore
pg. 42
Task 9
9. Create a technical document to provide good understanding of the program and its
functionalities using different types of documentation
Future Improvement
This system is very smarter from security point of view. It allows only predefined users to
login and access date as per there user role (level).
After login, user is able to perform following operations:
Course Details
Enter Course
undergraduate
postgraduate
Student Details
Enter New Student
List All Student
Power Search Student
For another user system shows corresponding pages as per their role (level) with permitted
tables.
As mentioned above Student Management System also provides reports for Metro Campus
and it is very useful to get printable Details on just one click of mouse button. These all
options are in left side bar.
pg. 43
Need for computerization
The use of computerized Metro Campus is to provide effective facilities to the people, which
are suffering from any problems. The advantages are:
Less cost
No mediators
Excellent services
The main goal of this Student Management system is to achieve the people satisfaction.
Student Management system provides effective facilities to the people from any place in the
world.
System requirements
pg. 44
Existing System
In the current system the data required is maintained in records. They are to be updated
according to the requirements of the users. It takes time to search for the required query. All
the details regarding the Metro Campus and its Student are hard to maintain.
The work will be more, so the system needs more number of crew to fulfill the requirements.
There may be a chance of failure since it is manual. A one fault of the system may lead to
inconvenience and also causes a vast destruction. So these faults make the system less
efficient and performance of the system is very slow. Hence, there should be a system to
overcome all these defaults and provide the users with more facilities.
In the current system if the user was suffering from any pain or etc he\she has no idea how to
control the pain and suffering. Just they will be no idea for them and they become sicker and
died more sooner And to know the availability for the treatment they have to go to Metro
Campus but mostly the other Campus l doesn't give more facilities to the student as the
student want from the Lecture.
But in the case of the private student the Students has to pay more fares for the treatment and
they do more delays in the case of the treatment they will be more formalities to be fulfill by
the students which take lot of time waste.
In the proposed system everything is computerized. The system provides all the details
regarding the Campus, Lectures, Students, Marks details, and fares also and so on. The user
can search required data easily with no time. A very less number of staff is required to handle
the system.
The Students need not wait for a long time to fulfill his requirement. There is no chance of
any failure in the system, which improves the performance of the system and also increases
the efficiency of the system.
pg. 45
Though this system is very beneficial a minor failures in the server or else the computer leads
a major loss of data.
Feasibility study
In preliminary investigation we got the result that the computerized Student Management
system is feasible. This includes following aspects.
Technical Feasibility
Technical feasibility is nothing but implementing the project with existing technology.
Computerized Student Management System is feasible.
.NET Framework
The .NET Framework is a new computing platform that simplifies application development
in the highly distributed environment of the Internet. The .NET Framework is designed to
fulfill the following objectives:
pg. 46
Task 10
Provide a test plan and test the program solution, analyze actual test results
against expected results to identify discrepancies.
A primary objective of testing application systems is to: assure that the system meets the full
requirements, including quality requirements and fit metrics for each quality requirement and
satisfies the use case scenarios and maintain the quality of the product.
At the end of the project development cycle, the user should find that the project has met or
exceeded all of their expectations as detailed in the requirements.
Secondary Objective
The secondary objective of testing application systems will be to: identify and expose all
issues and associated risks, communicate all known issues to the project team, and ensure that
all issues are addressed in an appropriate matter before release.
As an objective, this requires careful and methodical testing of the application to first ensure
all areas of the system are scrutinized and, consequently, all issues (bugs) found are dealt
with appropriately.
Define testing strategies for each area and sub-area to include all the functional and quality
(non-functional) requirements.
Divide Design Spec into testable areas and sub-areas (do not confuse with more detailed test
spec).
Be sure to also identify and include areas that are to be omitted (not tested) also.
pg. 47
Define bug-tracking procedures.
Identify testing risks.
Identify required resources and related information.
Provide testing Schedule
Function Expected Behavior
Test case 1
Test Case Test 1
Test Objective Check whether system allow to Register the student in the system
Output
pg. 48
Test case 2
The Student Information which should be updated as SARAH and Undergraduate. before it
was as Sara and Postgraduate.
pg. 49
Test case 3
pg. 50
Output
If you notice the database there will be no student called Rooz or Student ID as S107.
pg. 51
Task 11
Questionnaire
Software Developers Team prepared a set of Questioners for the members of the Mermaid
Aquarium System in order to gather information about their problems with the current
system.
1. What do you think of your current Application?
Excellent
Good
Satisfactory
Poor
2. Do you think the new Application will be successful
Yes
No
3. How well does the current Application pursue?
Good
Satisfactory
Poor
4. Are the records in the current Application well Squired?
Yes well secured
Secured to some extent
Not at all
pg. 52
5. Does the current Application have any options to record more details?
Yes
No
No idea
pg. 53