You are on page 1of 94

STOCK MAINTANANCE SYSTEM

A Report Submitted for the partial fulfillment For the award of degree of Bachelor Of Computer Applications

In THIRUVALLUVAR UNIVERSITY by THASMIYA.J NA IA !E"UM.A MANJULA.R (Reg No:2981126) (Reg No:2981#8#) (Reg No: 2981#$%)

Un&e' ()e g*+&,n-e


Of

Mrs.J.VIDYA VENKATESHM.Sc, M.phil

Department of Comp ter Applications M.M.E.S !omen"s Arts # Science Colle$e, Mel%isharam, %ellore&'()*+, April-Ma.&)+/)
1

BONAFIDE CERTIFICATE
This is to certify that this project entitled STOCK MAINTANANCE SYSTEM./e+gn 0*/1+((e& (o ()e 'e-o'&2 M.M.E.S 3o1en40 A'(0 ,n& S-+en-e Co55ege2 Me56+0),',12 /7 J.THASMIYA8298112692 A.NA IA !E"UM82981#8#92 R.MANJULA82981#$%9 :o' ()e ;,'(+,5 :*5:+551en(0 :o' 'e<,'& o: &eg'ee o: !CA(Co1;*(e' A;;5+-,(+on) +n , /on,:+&e 'e-o'& o: <o'& -,''+e& o*( /7 ()e12 *n&e' o*' g*+&,n-e = 0*;e'6+0+on. I( ),0 no( /een 0*/1+((e& :o' ()e ,<,'& o: ,n7 o()e' &eg'ee.

SI"NATURE

SI"NATURE

M'0. J.VI>HYA VENKATESH M.S-2 M.;)+5

M'0. J.VI>HYA VENKATESH M.S-2 M.;)+5

HEA> O? THE >E@ARTMENT

LECTURER ("UI>E)

DEPARTMENT OF COMP TER APP!"CAT"ON MME# $OMEN# ART# AND #C"ENCE CO!!E%E& ME!'"#(ARAM& 'E!!ORE D"#TR"CT) #*b+itted for the ,i,a-,oce e.a+ination held on #cience colle0e)

DEPARTMENT OF COMP TER APP!"CAT"ON MME# $OMEN# ART# AND #C"ENCE CO!!E%E& ME!'"#(ARAM& 'E!!ORE D"#TR"CT) at M)M)E)# $o+en/s Arts and

"NTERNA! E1AM"NER

E1TERNA! E1AM"NER

ACKNOWLEDGEMENT

We first offer our deepest gratitude to the almighty who has given me the strength and good health during the course of project. We are conscious about our indebtedness to our correspondence Jana0 Ha11i V.K. A02 l Matheen Sahi0 and our Principal , Mrs.3.4ree2a 3nanasel%am 5hD, who inspired me to reach greater heights in the pursuits of knowledge. We articulate our gratitude to our Head of the Department Mrs. J. Vi2h.a Ven6atesh, M.Sc., M.5hil., who had taught me the way to do a successful project and without whose constant encouragement and whole idea, the project would not have been possible. Mrs. J. Vi2h.a Ven6atesh, M.Sc., M.5hil. We wish to express our sincere thanks to our nternal !uide who had helped me a lot and had given valuable suggestions, which made me to finish this project in very successful and neat way. We also express our sincere thanks to the entire team of Teachin$ an2 Non&Teachin$ staff mem0ers of IT Department. We take this opportunity to thank our parents and friends who have been the source of inspiration and an encouraging factor through out the project period.

TA78E 94 C9NTENTS CH@ NO. TITLE @A"E NO.

LIST O? ?I"URES LIST O? A!!REVIATIONS A!STRACT 1. 2. INTRO>UCTION SYSTEM ANALYSIS 2)1 #yste+ Analysis 2)1)1 E.istin0 #yste+ 2)1)2 %. Proposed #yste+

4 5 16 12 17 18

14 15 1:

SYSTEM S@ECI?ICATIONS 3)1 (ard9are #pecifications 3)2 #oft9are #pecifications

A.

SO?T3ARE >ESCRI@TION ;)1 )NET Fra+e9or< O,er,ie9


;

26 21

;)2 )NET Fra+e9or< Class !ibrary B. SYSTEM >ESI"N 7)1 Data Flo9 Dia0ra+ 7)2 se Case Dia0ra+

23 34 ;6 ;2 ;3 77 74 75 7:

7)3 #e=*ence Dia0ra+ 6. $. TA!LE STRUCTURE SYSTEM IM@LEMENTATION 4)1!ist of Mod*les 4)2 Mod*le Descriptions 4)2)1 Mod*les 1 4)2)2 Mod*les 2 4)2)3 Mod*les 3 >etc 8. 9. CO>IN" SO?T3ARE TESTIN" :)1 #yste+ Testin0 :)1)1 nit Testin0

86 5; 57

:)1)2 "nte0ration Testin0

:)1)3 'alidation Testin0 :)1); O*tp*t Testin0 :)1)7 1#. 11. ser Acceptance Testin0
58 54 55 :;

SCREENSHOTS CONCLUSION

LIST OF FIGURES

?I"URE NO

TITLE

@A"E NO

;)1

Co+ponents of )NET Fra+e9or<


8

21

;)2 ;)3 7)1 7)2 ;2 7)3 ;3

nified Pro0ra++in0 Mod*le Anato+y of )NET Applications Data Flo9 Dia0ra+ se Case Dia0ra+

2; 31 ;1

#e=*ence Dia0ra+

LIST OF ABBREVIATIONS

A//'e6+,(+on

>e0-'+;(+on

"! AP" #D? !AN CT# @"T ""# C!R % " RAD MFC #AN #C! "DE 1M! C!#

"nter+ediate !an0*a0e Application Pro0ra++in0 "nterface #oft9are De,elop+ent ?it !ocal Area Net9or< Co++on Type #yste+ @*st "n Ti+e "nternet "nfor+ation #er,er Co++on !an0*a0e R*nti+e %raphical ser "nterface Rapid Application De,elop+ent Microsoft Fo*ndation Classes #ynchroniBation #tr*ct*red C*ery !an0*a0e "nte0rated De,elop+ent En,iron+ent E.tended Mar<*p !an0*a0e Co++on !an0*a0e #pecifications
5

ABSTRACT

ABSTRACT
"his project is aimed to #omputer based $tock maintenance management. "his can increase plant availability and reduce overall maintenance costs. t will contain the analysis of availability of stocks, %e&uirement, stock finish status etc. "his database management project will have all the database of availability of stock in store and reduces it in accordance with sales. t is proposed to eradicate manual errors and wastage of human resources. "he system is also developed with full security to prevent unauthori'ed access of the system. "he system maintains

16

all the reports generated on daily basis. "his application can be developed using #( .net as front) end and *$)$+, -../ as back)end.

11

INTRODUCTION

CHAPTER 1 INTRODUCTION
1.1 INTRODUCTION TITLE
"he $tock maintenance system is the inventory control where the product are purchase from the supplier and stored in the warehouse and again the products are sold to the
12

customer by making bill. $o this type of transaction is known as the stock maintenance. $ome times the products is send to the another warehouse if they have branches in another place. $tock also has to be maintenance when the raw material are send to the job order to another place or when job work. Differently the stock is to be maintenance for raw materials, semi finished goods, finished goods so these types of transactions are done in garments exports, large industries where manufacturing is done Here the stock maintenance is the main process by which the stock is to controlled when purchase or selling products.

User Managemen !
We can add new user in this module by entering the name, address, phone, email etc. f a person want to login first the user has to be created using this module. 0lready existing user can also be changed using this module. "he administrator can modify the list of user details and also the administrator can remove the unwanted user 1user who last login was before one month2.

L"g#n!
"he user has to login in to the system if he wants to make the transaction. f he is a new user it has to be created if he is already existing user he can login if he forgot his password a &uestion will be asked or he has to enter email and then submit the password will be sent to his email

S "$% De a#&s !
"he stock adjustment can be made whenever the company receives the credit note and debit note and also the stock transaction like ware house to warehouse transfers can be done.

OB'ECTIVES OF THE PRO'ECT!


13

$tock *aintenance gives an idea about how products are maintained i n t h e particular concern. "he products that are to be purchased, the products that are to be sold are maintained here. "his project also gives idea about the faults in the purchased product and the products that are to be replace d also been given. 3urther some additional details of the current stock that is available in the store is also given. $tock maintenance in this project is done in an authori'ed way. "he password and user id has been set here. 0s a whole the marketi ng process can be improved if the stock is maintained properly. "he stock has to be maintained properly since the whole marketing process can be improved. $tock maintenance in this project gives the idea about how products are maintained in a particular concern " h e s t o c k d e t a i l s w h i c h i n c l u d e s t h e a mo u n t o f s t o c k a v a i l a b l e , t h e s t o c k i s t o b e purchased, the date or the time it is being bought or delivered, the amount that is already available are maintained in this project. "he stock maintenance in this project is understood by going through the modules that is b e i n g i n v o l v e d . " h e w h o l e e c o n o m i c s t a t u s i s b e i n g i mp r o v e d p r o p e r l y i f s t o c k i s maintained.

1;

S(STEM ANAL(SIS

CHAPTER ) S(STEM ANAL(SIS


).1 S(STEM ANAL(SIS
$ystem analysis is a process of examining business situation with intend of improving it through better procedure and methods. t is the process of gathering and interpreting facts,
17

diagnosing the problems and using the information to recommend improvement to the system. 0nalysis is a detailed study of the various operations performed by the system and their recovering within and outside the system.

).1.1 E*ISTING S(STEM


n the current $tock maintaining system it has the manual handling of the record is time consuming and highly prone to error. t has a lot of paper work and its not deal with old and new stock purchase and sold. "o maintain the records of stock details and service manually, is a time consuming job. f an administrator wants to check the details of the available stock for his4her satisfaction the previous system does not provide any necessary details of the type.

D#sa+,an ages "- E.#s #ng S/s em


*ore "ime %e&uired Process. *anual work which is not effective. *anaging the record is tedious work.

).1.) PROPOSED S(STEM


5ur proposed system overcome the above mention drawback of the existing system. "his reduces the cost and also reduce time period taken by the administrator for adding, 6iewing, 7pdating and deleting the details of stock items, because all the process hear is handle by the system. 0n administrator can manage the records easily and can be retrieval at any time with proper authentication of an administrator.
18

A+,an ages "- 0e 1r"1"se+ s/s em


%educes the cost and "ime. %educes the human effort. 8fficient database storage which can be maintained easily for long years. 3ull authenticated security.

14

S(STEM SPECIFICATIONS

CHAPTER 2 S(STEM SPECIFICATIONS

2.1 HARDWARE SPECIFICATIONS


Hard Disk %0* Processor ) ) ) 9.!: /;-mb Pentium 6 or higher
15

*onitor *ouse

) )

;/<8+:4! ,ogitech

2.) SOFTWARE SPECIFICATIONS


5perating $ystem 3ront 8nd :ack 8nd D8 ) ) ) ) Windows =P 0$P.>8" *$ $+, $8%68% -../ 6isual $tudio -../

1:

SOFTWARE DESCRIPTION

CHAPTER 3 SOFTWARE DESCRIPTION

4.1.NET FRAMEWORK OVERVIEW


*icrosoft?s new software development platform, .>8" 3ramework, is the first *icrosoft development environment designed from the ground up for nternet development.

26

0lthough .>8" is not meant to be used exclusively for nternet development, its innovations were driven by the limitations of current nternet development tools and technology. "he basis of this new development platform consists of three primary components or layers@ the common language runtime, the .>8" 3ramework base classes, and the user and program interfaces, as demonstrated in 3igure A.;

3igure A.; #omponents of .>8" 3ramework

"he foundation of the .>8" 3ramework is the common language runtime. ts principal purpose is to load, execute, and manage code that has been compiled to *icrosoft?s new intermediate byte code format called ntermediate ,anguage 1 ,2.

$everal languages, notably *icrosoft?s 6isual :asic .>8" and #( .>8" 1pronounced B# sharp<2, have compilers supporting this format, and many more are currently in development. t is important to note that the , code is not interpreted. "he common language runtime uses just in time compilers to compile the , code to native binary code before execution. 5ther significant features of the common language runtime include the following@

21

6ersion control *emory management #ross language integration #ommon data type system "he .>8" 3ramework software developer?s kit 1$DC2 not only provides several runtime hosts but also supports the development of third party runtime hosts. 3or example, 0$P.>8" hosts the runtime to provide a scalable, server side environment for managed code. 0$P.>8" works directly with the runtime to enable .asp pages and Web services. "he final layer of the .>8" 3ramework consists of the user and program nterfaces. "he two components of this layer are 0$P.>8" 0pplication $ervices and Windows 0pplication $ervices. "he cornerstone of the 0$P.>8" 0pplication $ervices is, of course, 0$P.>8", which in turn supports the new Web services and Web 3orms technologies that are discussed later. "he Windows 0pplication $ervices component supports traditional Windows programming applications through Windows 3orms.

FEATURES OF THE COMMON LANGUAGE RUNTIME


"he common language runtime provides an execution environment that manages the set of code targeted to the .>8" 3ramework. #ode management can include memory management, thread management, security management, code verification, and compilation of the code. 0ll
22

managed components must first be assigned a level of trust. "he level or degree of trust can vary on the basis of the following origins@ ,ocal computer nternet connection

8nterprise local area network 1,0>2 connection "he common language runtime also uses a common type system 1#"$2 to enforce code robustness and language interoperability. "he common language runtime also should increase application performance. "his may be accomplished in two ways@ just in time 1D "2 compliers and server side applications. "he D " compilers are used to compile all managed code to native machine binary code at execution. $erver side applications can house application logic and business rules on .>8" 8nterprise $ervers such as nternet nformation $erver 1 $2 and $+, $erver.

3.).NET FRAMEWORK CLASS LIBRAR(


"he .>8" 3ramework class library is a collection of reusable classes, or types, that tightly integrate with the common language runtime. .>8" applications benefit from using and extending or inheriting the functionality from the classes and types available in the class library. "he class library is very hierarchical and well organi'ed, as shown in 3igure A.-. t starts with the most generic classes and continues to build down to classes with very specific and precise functionality. 0lthough this library is extensive, its organi'ation makes it easy to learn and use. n an age of ever growing technology it is refreshing to see a new technology and a new architecture that promise a reduced learning curve.

"his model also makes it easy for third party components to be integrated easily with the existing class library.
23

3igure A.- 7nified Programming *odel 0s expected in an object oriented class library, the .>8" 3ramework classes enable developers to accomplish rapidly a wide range of common programming tasks, including things such as string management, file access, and database connectivity. 0lso, several classes facilitate highly speciali'ed and custom development environments. "hese classes make the application development environment very flexible. "he following types of applications are readily supported through the .>8" 3ramework@ 0$P.>8" applications #onsole applications $cripted applications Windows applications 1Windows 3orms2 Web services

3or example, the Windows 3orms classes are used to create Windows graphical user interface 1!7 2 applications, which often are referred to as standalone applications. "his is facilitated through a series of reusable graphical interface classes. 0lternatively, in developing a
2;

Web based application, the H"*, and Web 3orms classes facilitate its rapid development. 8ither way the underlying framework provides the flexibility for feature rich applications regardless of the choice of application environment.

CLIENT APPLICATION DEVELOPMENT


#lient applications represent the most common application environment in use today. "hese are the applications that one would invoke by opening some type of form and initiating an action. 8xamples of client applications range from word processing applications to a customi'ed accounting package. "he traditional Windows programming environment has been replaced in .>8" by the Windows 3orms control. "he managed Windows 3orms control allows the application to be deployed over the nternet, and the user can view the application as a Web page. n the past developers created such applications by using # or #EE in conjunction with the *icrosoft 3oundation #lasses 1*3#2 or with a rapid application development 1%0D2 environment such as *icrosoft 6isual :asic. "he .>8" 3ramework incorporates aspects of the earlier products into a single, consistent development environment. "he goal of the single environment is to simplify the development of client applications. 8ach object and Web server may have security rights different from those of another server. 0ll security rights are evaluated even though the objects are used within a single application. Windows 3orms applications still have some advantages over Web based applications. Windows 3orms applications have a level of trust that is already assumed. "his allows binary and natively executing code to interact with some of the resources on the local machine. "his is used to perform the necessary !7 elements of the application.

In r"+4$ #"n " 0e C5 Lang4age an+ 0e .NET Frame6"r%


V#s4a& S 4+#" )778

27

#( is an elegant and type)safe object)oriented language that enables developers to build a wide range of secure and robust applications that run on the .>8" 3ramework. Fou can use #( to create traditional Windows client applications, =*, Web services, distributed components, client)server applications, database applications, and much, much more. *icrosoft 6isual #( -../ provides an advanced code editor, convenient user interface designers, integrated debugger, and many other tools to facilitate rapid application development based on version -.. of the #( language and the .>8" 3ramework.

C5 Lang4age

C# syntax is highly expressi e! yet "ith less than #$ %ey"&r's! it is als& si(ple an' easy t& learn. The )*rly+,ra)e syntax &- C# "ill ,e instantly re)&gni.a,le t& any&ne -a(iliar "ith C! C// &r 0a a. 1e el&pers "h& %n&" any &- these lang*ages are typi)ally a,le t& ,egin "&r%ing pr&'*)ti ely in C# "ithin a ery sh&rt ti(e. C# syntax si(pli-ies (any &- the )&(plexities &- C// "hile pr& i'ing p&"er-*l -eat*res s*)h as n*lla,le al*e types! en*(erati&ns! 'elegates! an&ny(&*s (eth&'s an' 'ire)t (e(&ry a))ess! "hi)h are n&t -&*n' in 0a a. C# als& s*pp&rts generi) (eth&'s an' types! "hi)h pr& i'e in)rease' type sa-ety an' per-&r(an)e! an' iterat&rs! "hi)h ena,le i(ple(enters &- )&lle)ti&n )lasses t& 'e-ine )*st&( iterati&n ,eha i&rs that are si(ple t& *se ,y )lient )&'e.

As an &,2e)t+&riente' lang*age! C# s*pp&rts the )&n)epts &- en)aps*lati&n! inheritan)e an' p&ly(&rphis(. All aria,les an' (eth&'s! in)l*'ing the Main (eth&'! the appli)ati&n3s entry p&int! are en)aps*late' "ithin )lass 'e-initi&ns. A )lass (ay inherit 'ire)tly -r&( &ne parent )lass! ,*t it (ay i(ple(ent any n*(,er &- inter-a)es. Meth&'s that & erri'e irt*al (eth&'s in a parent )lass re4*ire the & erri'e %ey"&r' as a "ay t& a &i' a))i'ental re'e-initi&n. In C#! a str*)t is li%e a light"eight )lass5 it is a sta)%+all&)ate' type that )an i(ple(ent inter-a)es ,*t '&es n&t s*pp&rt inheritan)e.
28

In a''iti&n t& these ,asi) &,2e)t+&riente' prin)iples! C# -a)ilitates the 'e el&p(ent &- s&-t"are )&(p&nents thr&*gh se eral inn& ati e lang*age )&nstr*)ts! in)l*'ing6

En)aps*late' (eth&' signat*res )alle' 'elegates! "hi)h ena,le type+sa-e e ent n&ti-i)ati&ns. 7r&perties! "hi)h ser e as a))ess&rs -&r pri ate (e(,er aria,les. Attri,*tes! "hi)h pr& i'e 'e)larati e (eta'ata a,&*t types at r*n ti(e. Inline 8M9 '&)*(entati&n )&((ents.

I- y&* nee' t& intera)t "ith &ther Win'&"s s&-t"are s*)h as COM &,2e)ts &r nati e Win:; 199s! y&* )an '& this in C# thr&*gh a pr&)ess )alle' <Inter&p.< Inter&p ena,les C# pr&gra(s t& '& 2*st a,&*t anything that a nati e C// appli)ati&n )an '&. C# e en s*pp&rts p&inters an' the )&n)ept &- <*nsa-e< )&'e -&r th&se )ases in "hi)h 'ire)t (e(&ry a))ess is a,s&l*tely )riti)al.

The C# ,*il' pr&)ess is si(ple )&(pare' t& C an' C// an' (&re -lexi,le than in 0a a. There are n& separate hea'er -iles! an' n& re4*ire(ent that (eth&'s an' types ,e 'e)lare' in a parti)*lar &r'er. A C# s&*r)e -ile (ay 'e-ine any n*(,er &- )lasses! str*ts=! inter-a)es! an' e ents.

The -&ll&"ing are a''iti&nal C# res&*r)es6 F&r a g&&' general intr&'*)ti&n t& the lang*age! see Chapter 1 &- the C5 Lang4age S1e$#-#$a #"n. F&r 'etaile' in-&r(ati&n a,&*t spe)i-i) aspe)ts &- the C# lang*age! see the C5 Re-eren$e.

F&r a )&(paris&n &- C# syntax t& that &- 0a a an' C//! see T0e C5 Pr"gramm#ng Lang4age -"r 'a,a De,e&"1ers an' C"m1ar#s"n Be 6een C99 an+ C5.

.NET Frame6"r% P&a -"rm Ar$0# e$ 4re


24

#( programs run on the .>8" 3ramework, an integral component of Windows that includes a virtual execution system called the common language runtime 1#,%2 and a unified set of class libraries. "he #,% is *icrosoftGs commercial implementation of the common language infrastructure 1#, 2, an international standard that is the basis for creating execution and development environments in which languages and libraries work together seamlessly.

$ource code written in #( is compiled into an intermediate language 1 ,2 that conforms to the #, specification. "he , code, along with resources such as bitmaps and strings, is stored on disk in an executable file called an assembly, typically with an extension of .exe or .dll. 0n assembly contains a manifest that provides information on the assemblyGs types, version, culture, and security re&uirements.

When the #( program is executed, the assembly is loaded into the #,%, which might take various actions based on the information in the manifest. "hen, if the security re&uirements are met, the #,% performs just in time 1D "2 compilation to convert the , code into native machine instructions. "he #,% also provides other services related to automatic garbage collection, exception handling, and resource management. #ode that is executed by the #,% is sometimes referred to as Hmanaged code,H in contrast to Hunmanaged codeH which is compiled into native machine language that targets a specific system. "he following diagram illustrates the compile)time and run time relationships of #( source code files, the base class libraries, assemblies, and the #,%.

25

,anguage interoperability is a key feature of the .>8" 3ramework. :ecause the , code produced by the #( compiler conforms to the #ommon "ype $pecification 1#"$2, , code generated from #( can interact with code that was generated from the .>8" versions of 6isual :asic, 6isual #EE, 6isual D(, or any of more than -. other #"$)compliant languages. 0 single assembly may contain multiple modules written in different .>8" languages, and the types can reference each other just as if they were written in the same language.

n addition to the run time services, the .>8" 3ramework also includes an extensive library of over A... classes organi'ed into namespaces that provide a wide variety of useful functionality for everything from file input and output to string manipulation to =*, parsing, to
2:

Windows 3orms controls. "he typical #( application uses the .>8" 3ramework class library extensively to handle common HplumbingH chores.

ABOUT C5 PROGRAMMING
#( is *icrosoft?s programming language for its new .>8" development environment. *icrosoft?s goal with #( is to provide a simple, modern, object oriented .>8" programming language that is nternet centric. 0lthough .>8" code can be written in many languages, #( is the only language designed specifically for the .>8" platform and for that reason may become the language of choice for this environment. #( may be deceptively simple. 0lthough it has only about 9. keywords and a do'en intrinsic data types, it is highly expressive. t includes support for all types of modern component based, object oriented development. #(, like #EE and Dava, owes its origins to the # programming language. 3or that reason, #EE and Dava developers will notice a striking similarity to those languages and enjoy an easy to learn and familiar programming environment. $pecifically, #( is an elegant language object oriented language that@

%eadily supports the definition of and working with classes and their properties and methods.

$upports the implementation of interfaces, or contracts, to implement functionality. While a class can only inherit, or extend, from a single class, it can implement multiple interface.

36

. $upports struts, which are lightweight custom types that re&uire fewer resources than does a more complex, robust type defined as a class.

3igure A.I 0natomy of .>8" 0pplications


"he common language runtime now features a garbage collector, a process responsible for removing objects from memory that no longer have references to them. "he developer is freed from the tedious and often fruitless activity of trying to assure that all objects have been destroyed.

31

S:L Ser,er )778 E.1ress !


5ne of the more interesting innovations incorporated into the $+, $erver -../ platform is $ervice :roker. Designed as a scalable, secure, asynchronous messaging framework, it provides infrastructure for implementing reliable data exchange, which can be easily leveraged by local and distributed database applications. $ince its core features are available in the entire product line 1including 8xpress 8dition ) although in somewhat limited capacity2, we will include its overview as part of our series, presenting its basic concepts and architectural principles in this article. $tarting with the next installment, we will describe a sample application illustrating its operations and continue our discussion focusing on its management, security, and routing characteristics.

While it was possible to implement asynchronous messaging in earlier versions of *icrosoft $+, $erver, such arrangements had to rely on other products or services, such as *icrosoft *essage +ueuing 1*$*+2. 8ven though this approach offered a number of additional benefits, including the ability to extend the scope of transactions to a variety of Windows applications 1rather than being limited to $+, $erver)based ones only2 communicating via either "#P4 P or H""P $50P 1remote instances of $ervice :roker are limited to "#P4 P connections2, the new, built)in functionality improves performance 1dynamically adjusting to volume of incoming re&uests2 and scalability 1maximum message si'e has been increased from -*: to A!:2, as well as superior transactional behavior 1*$*+ utili'es distributed model with two)phase commit, while $ervice :roker treats message exchange like any standard database transaction2. 3urthermore, the introduction of reliable messaging capabilities inherent to the database engine simplifies application development 1eliminating the need for custom code dealing with multithreading and locking challenges2 and administration 1by streamlining common management tasks, such as backups and maintenance2. t also provides advantages in the area of high availability and recoverability, by easily merging with such technologies as database mirroring or clustering.

32

0s an asynchronous messaging framework, $ervice :roker accommodates the reliable exchange of messages among systems operating in distributed fashion, connected via slow or unreliable links, on different, potentially non)overlapping schedules. "his eliminates the need for a direct communication between them and for a match of their processing capabilities 1to prevent the volume of data submitted by the sender from overwhelming its recipient2. t also offers resiliency to such events as the temporary unavailability of underlying infrastructure, including server failures or network interruptions. Delivery status is easily verifiable and messages are guaranteed to be received and processed in the proper order 1following the se&uence in which they were sent2, ensuring application)wide consistency. "his functionality is made possible by providing persistent storage 1for messages and their metadata2, as well as message sending, routing, and reception facilities, which are all implemented as database objects. n order to gain a better understanding of the $ervice :roker architecture, it is important to become familiar with a number of components that constitute its building blocks 1we list them below, including a short description of ")$+, statements that are used for their creation2@

*essage type ) included in the header of every message, identifies the type of data they contain. While =*, content is commonly used, any datatype that can be cast to 60%: >0%F1*0=2 is allowed. Database objects containing its definition are generated by executing the #%80"8 *8$$0!8 "FP8 ")$+, statement. "he optional 60, D0" 5>parameter gives you the ability to enforce a specific =*, schema or opt out of type checking 1to avoid performance impact associated with this process2. *essage types must match between databases that participate in $ervice :roker)based communication. 0s mentioned earlier, messages can accommodate data chunks of up to -!: in si'e.

#ontract ) defines message types that specific participants of $ervice :roker)based exchange are permitted to use. t is represented by a database object, residing in the same databases as message type objects it references and is generated by executing
33

the #%80"8 #5>"%0#" ")$+, statement. "he party initiating communication 1known as > " 0"5%2 and its partner 1referred to as "0%!8"2 might be assigned distinct message types, designated by values allocated to $8>" :F > " 0"5% and $8>" :F "0%!8" arguments. 1it is also possible to use $8>" :F 0>F option if there are message types available to both2.

+ueue ) provides storage for holding messages while they await processing. 1"he sending &ueue hosts messages awaiting delivery and receiving &ueue accepts them once delivery successfully completes and message type is confirmed to be valid2. +ueues are created with the #%80"8 +7878 ")$+, statement. ts $"0"7$ argument allows you to turn it 5> or 533 1depending on whether you intend to make it operational2. :y applying the %8"8>" 5> switch 1useful primarily in debugging scenarios2 you have ability to ensure that all messages are kept in the &ueue until both parties agree on ending the communication. "he optional 0#" 60" 5> parameter allows you to associate a message arrival with an arbitrary action 1known as a service program or &ueue reader2, that can be implemented as a stored procedure 1")$+, or #,%)based2 or an external program. $ervice :roker has the ability to activate additional instances of service programs 1restricted by the value of the *0=J+7878J%80D8%$ parameter2 to handle a backlog of messages in the &ueue.

$ervice ) constitutes the logical representation of an endpoint in $ervice :roker)based communication. $ervices function as initiators and targets for message exchange. 8ach of them is associated with specific &ueues and contracts 1which, in turn, reference specific message types2, linking them together into a single entity. "heir implementation involves executing the #%80"8 $8%6 #8 ")$+, statement, which in addition to containing their name, specifies the owner 1via the 07"H5% K0" 5> parameter2, associated &ueue 1following the 5> +7878 clause2, and one or more contracts 1note that this
3;

argument is not re&uired for initiator, because contracts are always specified when starting $ervice :roker conversation2.

conversation 1which, in the $+, $erver -../ is synonymous with a dialog, since monolog conversations were not implemented in its %"* version2 ) corresponds to two) way, ordered, and asynchronous communication between $ervice :roker services 1which can be located on the same or distinct $+, $erver -../ instances2. "hey facilitate message exchange and ensure its reliability and consistency. "o initiate a dialog, you need to launch the :8! > D 0,5! #5>68%$0" 5> ")$+, statement, which assigns a uni&ue identifier to it, specifies the initiator 13%5* $8%6 #8clause2, target 1"5 $8%6 #8 clause2, and contract 1optionally, using 5> #5>"%0#" syntax2, as well as defines, 38" *8 1maximum amount of time in seconds for which the dialog remains active2 and 8>#%FP" 5> 1which enforces encryption of messages2. "o terminate a conversation in an orderly manner, execute the 8>D #5>68%$0" 5> ")$+, statement referencing its uni&ue identifier 1which precludes exchange of any additional messages2.

#onversation group ) is associated with every conversation 1by default, a new group is generated automatically when a conversation is initiated2 in order to set the boundaries of the $ervice :roker locking mechanism. n this way, any message that is sent or received as part of a conversation becomes part of a transaction, which must complete before another message is allowed to be sent or received within the same group. 8ffectively, messages for each conversation group are always processed se&uentially, eliminating issues that would otherwise need to be addressed when developing multithreaded applications 1in particular, those resulting from messages arriving out)of)order or being simultaneously processed by different threads2. #onversation group can consist of one or more conversations 1in case of the latter, grouping is done based on their transactional dependencies, which typically reflect their common purpose2. n order to assign a new conversation to an existing conversation group, specify its uni&ue identifier when
37

invoking :8! > D 0,5! #5>68%$0" 5> ")$+, statement 1alternatively, you can set its value to the W "H %8,0"8DJ#5>68%$0" 5>J!%57P parameter2.

$ervice :roker endpoint ) facilitates network transmission of messages between $+, $erver -../ instances residing on separate computers. "hey are defined using the #%80"8 8>DP5 >" ")$+, statement with the 35% $8%6 #8 :%5C8%&ualifier, which assigns a listener "#P port 1with , $"8>8% P5%" clause2, defines its $"0"8 1$"0%"8D or $"5PP8D2, as well as specifies authentication 1via 07"H8>" #0" 5>2 and encryption 1via 8>#%FP" 5>2 settings.

%oute ) associates a $ervice :roker service with a network location of a computer hosting the $+, $erver -../ installation. "his information makes it possible to establish a delivery path between any two services that intend to engage in a conversation. $ervice :roker relies on "#P4 P)based protocols, consisting of 0djacent :roker Protocol 1which handles lower)level transport tasks2 and Dialog Protocol 1which implements higher level features, responsible for session management between endpoints, including message delivery acknowledgements and retries, as well as authentication and encryption2. "o define a route, use the #%80"8 %57"8 ")$+, statement, which allows you to set such properties as target service name 1assigned to the value of $8%6 #8J>0*8 parameter2, amount of time the route remains in routing table database object 1, 38" *82, and network address of the next route hop 10DD%8$$2 in the form of an P address 1alternatively, you can specify corresponding >et: 5$ or D>$ name2 combined with an unused "#P port.

38

S(STEM DESIGN

34

CHAPTER 8 S(STEM DESIGN

8.1 Da a F&"6 D#agram!

DATA FLOW:
Data move in specific direction from an origin to a destination. "he data flow is a Bpacket< of data

PROCESS6
People, procedures or devices that produce data the physical component is not identified.

35

S9;<CE 9< DESTINATI9N 94 DATA:

8xternal sources or destination of data, which may be people of organi'ation or other entities.

DATA STORE!

Here the data referenced by a process in the system.

3:

0 2ata flo= 2ia$ram 1D4D2 is a graphical representation of the HflowH of data through an information s.stem, modeling its process aspects. 5ften they are a preliminary step used to create an overview of the system which can later be elaborated.>)? D3Ds can also be used for the %is ali@ation of 2ata processin$ 1structured design2.

0 D3D shows what kinds of data will be input to and output from the system, where the data will come from and go to, and where the data will be stored. t does not show information about the timing of processes, or information about whether processes will operate in se&uence or in parallel 1which is shown on a flo=chart2.

Da a F&"6 D#agram &e,e& 76

;6

Da a-&"6 D#agram Le,e& 16

8.) USECASE DIAGRAM

0 use case is a set of scenarios that describing an interaction between a user and a system. 0 use case diagram displays the relationship among actors and use cases. "he two main components of a use case diagram are use cases and actors.

;1

0n actor is represents a user or another system that will interact with the system modeled. 0 use case is an external view of the system that represents some action the user might perform in order to complete a task.

3igure /.- 7se case Diagram

;2

8.2 SE:UENCE DIAGRAM


0 se&uence diagram shows, as parallel vertical lines 1Blifelines<2, different processes or objects that live simultaneously, and as the hori'ontal arrows, the messages exchanged between them, in the order in which they occur. "his allows the specification of simple runtime scenarios in a graphical manner.

3igure @$e&uence Diagram ;

;3

B.A In;*( &e0+gn:

;;

;7

;8

;4

;5

O*tp*t6

;:

76

71

72

S("$% Ma#n enan$e!


73

TA>9E ?TR@CT@RE6 Ta,le 1 6 S "$% De a#&s

4iel2 Name D $tock >ame +uantity

Data T.pe int 6archar1/.2 6archar1/.2

Constraints >ot null >ot null >ot null

Ta,le ; 6 In$"m#ng S "$%

4iel2 Name D >ames date +uantity cost

Data T.pe int 6archar1/.2 datetime 6archar1/.2 int

Constraints >ot null >ot null >ot null >ot null >ot null

Ta,le : 6 O4 g"#ng S "$% De a#&s

4iel2 Name

Data T.pe
7;

Constraints

#ode >ame Date +uantity "ype #ost

int 6archar1/.2 datetime 6archar1/.2 6archar1/.2 nt

>ot null >ot null >ot >ull >ot >ull >ot null >ot >ull

77

S(STEM IMPLEMENTATION

CHAPTER ; S(STEM IMPLEMENTATION


78

;.1 LIST OF MODULES


A2ministration Mo2 le A22 Stoc6 Item Mo2 le ;p2ate Stoc6 Item Mo2 le Vie= Stoc6 A%aila0ilit. Mo2 le

;.) MODULE DESCRIPTIONS

;.).1 A+m#n#s ra #"n M"+4&e

"his *odule in this project is used by the administrator. Who can have privilege to access the system. "he authori'ed administrator can access the system by using his4her uni&ue user id and password. all the details are stored in the administrator database securely.

;.).) A++ S "$% I em M"+4&e


"his module in this project is used by the administrator. "he administrator can add the product item details like item type, item code, item name, net weight, date of entry, &uantity, and price etc., all these details are stored in the administrator database.

;.).2 U1+a e S "$% I em M"+4&e


74

"his module in this project is used by the administrator. "he administrator can modify or edit the stock details if re&uires. "he authori'ed administrator have privilege to make any modification in stock details. 0ll these details can update in the administration database securely.

;.).3 V#e6 S "$% A,a#&a<#&# / M"+4&e


"his module in this project is used by the administrator. 0fter adding and updating the stock details in the system, the administrator can check the stock availability at any time by providing few information regarding the stock item details like item name, item type. "hese details are retrieve from the administrative database and shown to the administrator.

75

CODING

7:

F"rm 1!
namespace StockMaintance { partial class Form1 { private System.ComponentModel.IContainer components = null; protected override void Dispose(bool disposin ! { i" (disposin ## (components $= null!! { components.Dispose(!; % base.Dispose(disposin !; % &re ion 'indo(s Form Desi ner enerated code

private void Initiali)eComponent(! { t*is.menuStrip1 = ne( System.'indo(s.Forms.MenuStrip(!; t*is.addDetails+oolStripMenuItem = ne( System.'indo(s.Forms.+oolStripMenuItem(!; t*is.vie(Stock+oolStripMenuItem = ne( System.'indo(s.Forms.+oolStripMenuItem(!; t*is.addStock+oolStripMenuItem = ne( System.'indo(s.Forms.+oolStripMenuItem(!; t*is.vie(Stock+oolStripMenuItem1 = ne( System.'indo(s.Forms.+oolStripMenuItem(!; t*is.vie(IndividualStock+oolStripMenuItem = ne( System.'indo(s.Forms.+oolStripMenuItem(!; t*is.menuStrip1.Suspend,ayout(!; t*is.Suspend,ayout(!; t*is.menuStrip1.Items.-dd.an e(ne( System.'indo(s.Forms.+oolStripItem/0 { t*is.addDetails+oolStripMenuItem1 t*is.vie(Stock+oolStripMenuItem1 t*is.addStock+oolStripMenuItem1 t*is.vie(Stock+oolStripMenuItem11 t*is.vie(IndividualStock+oolStripMenuItem%!; t*is.menuStrip1.,ocation = ne( System.Dra(in .2oint(31 3!; t*is.menuStrip1.4ame = 5menuStrip15; t*is.menuStrip1.Si)e = ne( System.Dra(in .Si)e(6781 89!; t*is.menuStrip1.+abInde: = 1; t*is.menuStrip1.+e:t = 5menuStrip15; t*is.addDetails+oolStripMenuItem.4ame = 5addDetails+oolStripMenuItem5; t*is.addDetails+oolStripMenuItem.Si)e = ne( System.Dra(in .Si)e(6;1 83!; t*is.addDetails+oolStripMenuItem.+e:t = 5-dd Details5; t*is.addDetails+oolStripMenuItem.Click <= ne( System.=vent>andler(t*is.addDetails+oolStripMenuItem?Click!;

86

t*is.vie(Stock+oolStripMenuItem.4ame = 5vie(Stock+oolStripMenuItem5; t*is.vie(Stock+oolStripMenuItem.Si)e = ne( System.Dra(in .Si)e(6@1 83!; t*is.vie(Stock+oolStripMenuItem.+e:t = 5Aie( Details5; t*is.vie(Stock+oolStripMenuItem.Click <= ne( System.=vent>andler(t*is.vie(Stock+oolStripMenuItem?Click!; t*is.addStock+oolStripMenuItem.4ame = 5addStock+oolStripMenuItem5; t*is.addStock+oolStripMenuItem.Si)e = ne( System.Dra(in .Si)e(@61

83!;

t*is.addStock+oolStripMenuItem.+e:t = 5-dd Stock5; t*is.addStock+oolStripMenuItem.Click <= ne( System.=vent>andler(t*is.addStock+oolStripMenuItem?Click!; t*is.vie(Stock+oolStripMenuItem1.4ame = 5vie(Stock+oolStripMenuItem15; t*is.vie(Stock+oolStripMenuItem1.Si)e = ne( System.Dra(in .Si)e(631 83!; t*is.vie(Stock+oolStripMenuItem1.+e:t = 5Aie( Stock5; t*is.vie(Stock+oolStripMenuItem1.Click <= ne( System.=vent>andler(t*is.vie(Stock+oolStripMenuItem1?Click!; t*is.vie(IndividualStock+oolStripMenuItem.4ame = 5vie(IndividualStock+oolStripMenuItem5; t*is.vie(IndividualStock+oolStripMenuItem.Si)e = ne( System.Dra(in .Si)e(11@1 83!; t*is.vie(IndividualStock+oolStripMenuItem.+e:t = 5Aie(Individual Stock5; t*is.vie(IndividualStock+oolStripMenuItem.Click <= ne( System.=vent>andler(t*is.vie(IndividualStock+oolStripMenuItem?Click!; t*is.-utoScaleDimensions = ne( System.Dra(in .Si)eF(@F1 1;F!; t*is.-utoScaleMode = System.'indo(s.Forms.-utoScaleMode.Font; t*is.ClientSi)e = ne( System.Dra(in .Si)e(6781 B@@!; t*is.Controls.-dd(t*is.menuStrip1!; t*is.IsMdiContainer = true; t*is.MainMenuStrip = t*is.menuStrip1; t*is.4ame = 5Form15; t*is.+e:t = 5Form15; t*is.,oad <= ne( System.=vent>andler(t*is.Form1?,oad!; t*is.FormClosin <= ne( System.'indo(s.Forms.FormClosin =vent>andler(t*is.Form1?FormClosin !; t*is.menuStrip1..esume,ayout("alse!; t*is.menuStrip1.2er"orm,ayout(!; t*is..esume,ayout("alse!; t*is.2er"orm,ayout(!; % &endre ion private System.'indo(s.Forms.MenuStrip menuStrip1; private System.'indo(s.Forms.+oolStripMenuItem addDetails+oolStripMenuItem; private System.'indo(s.Forms.+oolStripMenuItem vie(Stock+oolStripMenuItem;

81

private System.'indo(s.Forms.+oolStripMenuItem addStock+oolStripMenuItem; private System.'indo(s.Forms.+oolStripMenuItem vie(Stock+oolStripMenuItem1; private System.'indo(s.Forms.+oolStripMenuItem vie(IndividualStock+oolStripMenuItem; % %

L"g#n!
namespace StockMaintance { partial class ,o in { private System.ComponentModel.IContainer components = null; protected override void Dispose(bool disposin ! { i" (disposin ## (components $= null!! { components.Dispose(!; % base.Dispose(disposin !; % &re ion 'indo(s Form Desi ner enerated code

private void Initiali)eComponent(! { t*is.label8 = ne( System.'indo(s.Forms.,abel(!; t*is.label; = ne( System.'indo(s.Forms.,abel(!; t*is.te:tCo:1 = ne( System.'indo(s.Forms.+e:tCo:(!; t*is.te:tCo:8 = ne( System.'indo(s.Forms.+e:tCo:(!; t*is.button1 = ne( System.'indo(s.Forms.Cutton(!; t*is.Suspend,ayout(!; t*is.label1.Si)e = ne( System.Dra(in .Si)e(98;1 ;7!; t*is.label1.+e:t = 5,o in D5; t*is.label8.-utoSi)e = true; t*is.label8.,ocation = ne( System.Dra(in .2oint(@71 71!; t*is.label8.4ame = 5label85; t*is.label8.Si)e = ne( System.Dra(in .Si)e(1311 83!; t*is.label8.+abInde: = 8; t*is.label8.+e:t = 5Esername D5; t*is.label;.-utoSi)e = true; t*is.label;.,ocation = ne( System.Dra(in .2oint(691 1;6!; t*is.label;.4ame = 5label;5; t*is.label;.Si)e = ne( System.Dra(in .Si)e(7@1 83!; t*is.label;.+abInde: = ;; t*is.label;.+e:t = 52ass(ord D5; t*is.te:tCo:1.,ocation = ne( System.Dra(in .2oint(16@1 FB!; t*is.te:tCo:1.4ame = 5te:tCo:15; t*is.te:tCo:1.Si)e = ne( System.Dra(in .Si)e(16F1 8@!; t*is.te:tCo:1.+abInde: = 9;

82

t*is.te:tCo:1.+e:t = 5admin5; t*is.te:tCo:8.,ocation = ne( System.Dra(in .2oint(16@1 191!; t*is.te:tCo:8.4ame = 5te:tCo:85; t*is.te:tCo:8.2ass(ordC*ar = GHG; t*is.te:tCo:8.Si)e = ne( System.Dra(in .Si)e(16F1 8@!; t*is.te:tCo:8.+abInde: = B; t*is.te:tCo:8.+e:t = 5pass(ord5; t*is.button1.,ocation = ne( System.Dra(in .2oint(8@61 17F!; t*is.button1.4ame = 5button15; t*is.button1.Si)e = ne( System.Dra(in .Si)e(F61 ;7!; t*is.button1.+abInde: = @; t*is.button1.+e:t = 5,o in5; t*is.button1.EseAisualStyleCackColor = true; t*is.button1.Click <= ne( System.=vent>andler(t*is.button1?Click!; t*is.-utoScaleDimensions = ne( System.Dra(in .Si)eF(13F1 83F!; t*is.ClientSi)e = ne( System.Dra(in .Si)e(98;1 8FF!; t*is.Controls.-dd(t*is.button1!; t*is.Controls.-dd(t*is.te:tCo:8!; t*is.Controls.-dd(t*is.te:tCo:1!; t*is.Controls.-dd(t*is.label;!; t*is.Controls.-dd(t*is.label8!; t*is.4ame = 5,o in5; t*is.,oad <= ne( System.=vent>andler(t*is.,o in?,oad!; t*is.Controls.SetC*ildInde:(t*is.label81 3!; t*is.Controls.SetC*ildInde:(t*is.label11 3!; t*is.Controls.SetC*ildInde:(t*is.label;1 3!; t*is.Controls.SetC*ildInde:(t*is.te:tCo:11 3!; t*is.Controls.SetC*ildInde:(t*is.te:tCo:81 3!; t*is.Controls.SetC*ildInde:(t*is.button11 3!; t*is..esume,ayout("alse!; t*is.2er"orm,ayout(!; % &endre ion private private private private private % System.'indo(s.Forms.,abel label8; System.'indo(s.Forms.,abel label;; System.'indo(s.Forms.+e:tCo: te:tCo:1; System.'indo(s.Forms.+e:tCo: te:tCo:8; System.'indo(s.Forms.Cutton button1;

A++ S "$% De a#&s!


namespace StockMaintance {

83

partial class -ddStockDetails { private System.ComponentModel.IContainer components = null; protected override void Dispose(bool disposin ! { i" (disposin ## (components $= null!! { components.Dispose(!; % base.Dispose(disposin !; % &re ion 'indo(s Form Desi ner enerated code

private void Initiali)eComponent(! { System.'indo(s.Forms.,abel names,abel; System.'indo(s.Forms.,abel company,abel; System.'indo(s.Forms.,abel type,abel; System.'indo(s.Forms.,abel cost,abel; t*is.names+e:tCo: = ne( System.'indo(s.Forms.+e:tCo:(!; t*is.company+e:tCo: = ne( System.'indo(s.Forms.+e:tCo:(!; t*is.cost+e:tCo: = ne( System.'indo(s.Forms.+e:tCo:(!; t*is.comboCo:1 = ne( System.'indo(s.Forms.ComboCo:(!; t*is.btn-dd = ne( System.'indo(s.Forms.Cutton(!; names,abel = ne( System.'indo(s.Forms.,abel(!; company,abel = ne( System.'indo(s.Forms.,abel(!; type,abel = ne( System.'indo(s.Forms.,abel(!; cost,abel = ne( System.'indo(s.Forms.,abel(!; t*is.Suspend,ayout(!; t*is.label1.+e:t = 5-dd Stock Details5; names,abel.-utoSi)e = true; names,abel.,ocation = ne( System.Dra(in .2oint(8691 1;;!; names,abel.4ame = 5names,abel5; names,abel.Si)e = ne( System.Dra(in .Si)e(@61 83!; names,abel.+abInde: = 8; names,abel.+e:t = 5namesD5; company,abel.-utoSi)e = true; company,abel.,ocation = ne( System.Dra(in .2oint(8B@1 1FB!; company,abel.4ame = 5company,abel5; company,abel.Si)e = ne( System.Dra(in .Si)e(FB1 83!; company,abel.+abInde: = 9; company,abel.+e:t = 5companyD5; type,abel.-utoSi)e = true; type,abel.,ocation = ne( System.Dra(in .2oint(87;1 8;6!; type,abel.4ame = 5type,abel5; type,abel.Si)e = ne( System.Dra(in .Si)e(9F1 83!; type,abel.+abInde: = @; type,abel.+e:t = 5typeD5; cost,abel.-utoSi)e = true; cost,abel.,ocation = ne( System.Dra(in .2oint(87;1 8F7!;

8;

cost,abel.4ame = 5cost,abel5; cost,abel.Si)e = ne( System.Dra(in .Si)e(9F1 83!; cost,abel.+abInde: = F; cost,abel.+e:t = 5costD5; t*is.names+e:tCo:.,ocation = ne( System.Dra(in .2oint(;961 1;3!; t*is.names+e:tCo:.4ame = 5names+e:tCo:5; t*is.names+e:tCo:.Si)e = ne( System.Dra(in .Si)e(1731 8@!; t*is.names+e:tCo:.+abInde: = ;; t*is.company+e:tCo:.,ocation = ne( System.Dra(in .2oint(;961 1F1!; t*is.company+e:tCo:.4ame = 5company+e:tCo:5; t*is.company+e:tCo:.Si)e = ne( System.Dra(in .Si)e(1731 8@!; t*is.company+e:tCo:.+abInde: = B; t*is.cost+e:tCo:.,ocation = ne( System.Dra(in .2oint(;961 8FB!; t*is.cost+e:tCo:.4ame = 5cost+e:tCo:5; t*is.cost+e:tCo:.Si)e = ne( System.Dra(in .Si)e(1731 8@!; t*is.cost+e:tCo:.+abInde: = 7; t*is.comboCo:1.Formattin =nabled = true; t*is.comboCo:1.Items.-dd.an e(ne( obIect/0 { 5InStock51 5JutStock5%!; t*is.comboCo:1.,ocation = ne( System.Dra(in .2oint(;961 8;8!; t*is.comboCo:1.4ame = 5comboCo:15; t*is.comboCo:1.Si)e = ne( System.Dra(in .Si)e(1731 8F!; t*is.comboCo:1.+abInde: = 13; t*is.btn-dd.,ocation = ne( System.Dra(in .2oint(9891 ;B;!; t*is.btn-dd.4ame = 5btn-dd5; t*is.btn-dd.Si)e = ne( System.Dra(in .Si)e(11;1 ;F!; t*is.btn-dd.+abInde: = 11; t*is.btn-dd.+e:t = 5-dd Details5; t*is.btn-dd.EseAisualStyleCackColor = true; t*is.btn-dd.Click <= ne( System.=vent>andler(t*is.btn-dd?Click!; t*is.-utoScaleDimensions = ne( System.Dra(in .Si)eF(13F1 83F!; t*is.ClientSi)e = ne( System.Dra(in .Si)e(6781 B@@!; t*is.Controls.-dd(t*is.btn-dd!; t*is.Controls.-dd(t*is.comboCo:1!; t*is.Controls.-dd(cost,abel!; t*is.Controls.-dd(t*is.cost+e:tCo:!; t*is.Controls.-dd(type,abel!; t*is.Controls.-dd(company,abel!; t*is.Controls.-dd(t*is.company+e:tCo:!; t*is.Controls.-dd(names,abel!; t*is.Controls.-dd(t*is.names+e:tCo:!; t*is.4ame = 5-ddStockDetails5; t*is.,oad <= ne( System.=vent>andler(t*is.-ddStockDetails?,oad!; t*is.Controls.SetC*ildInde:(t*is.label11 3!; t*is.Controls.SetC*ildInde:(t*is.names+e:tCo:1 3!; t*is.Controls.SetC*ildInde:(names,abel1 3!; t*is.Controls.SetC*ildInde:(t*is.company+e:tCo:1 3!; t*is.Controls.SetC*ildInde:(company,abel1 3!; t*is.Controls.SetC*ildInde:(type,abel1 3!;

87

t*is.Controls.SetC*ildInde:(t*is.cost+e:tCo:1 3!; t*is.Controls.SetC*ildInde:(cost,abel1 3!; t*is.Controls.SetC*ildInde:(t*is.comboCo:11 3!; t*is.Controls.SetC*ildInde:(t*is.btn-dd1 3!; t*is..esume,ayout("alse!; t*is.2er"orm,ayout(!; % &endre ion private private private private private % % System.'indo(s.Forms.+e:tCo: names+e:tCo:; System.'indo(s.Forms.+e:tCo: company+e:tCo:; System.'indo(s.Forms.+e:tCo: cost+e:tCo:; System.'indo(s.Forms.ComboCo: comboCo:1; System.'indo(s.Forms.Cutton btn-dd;

A++ S "$% :4an # /!


namespace StockMaintance { partial class -ddStocksKuantity { private System.ComponentModel.IContainer components = null; protected override void Dispose(bool disposin ! { i" (disposin ## (components $= null!! { components.Dispose(!; % base.Dispose(disposin !; % &re ion 'indo(s Form Desi ner enerated code

private void Initiali)eComponent(! { t*is.components = ne( System.ComponentModel.Container(!; System.'indo(s.Forms.,abel names,abel; System.'indo(s.Forms.,abel type,abel; System.'indo(s.Forms.,abel Luantity,abel; System.'indo(s.Forms.,abel cost,abel; System.'indo(s.Forms.,abel dates,abel; t*is.typeComboCo: = ne( System.'indo(s.Forms.ComboCo:(!; t*is.sDJt*ersCindin Source = ne( System.'indo(s.Forms.Cindin Source(t*is.components!;

88

t*is.stockDataSet = ne( StockMaintance.aData.stockDataSet(!; t*is.Luantity+e:tCo: = ne( System.'indo(s.Forms.+e:tCo:(!; t*is.cost+e:tCo: = ne( System.'indo(s.Forms.+e:tCo:(!; t*is.comboCo:1 = ne( System.'indo(s.Forms.ComboCo:(!; t*is.sD?Jt*ers+able-dapter = ne( StockMaintance.aData.stockDataSet+able-dapters.SD?Jt*ers+able-dapter(!; t*is.invoiceCindin Source = ne( System.'indo(s.Forms.Cindin Source(t*is.components!; t*is.invoice+able-dapter = ne( StockMaintance.aData.stockDataSet+able-dapters.invoice+able-dapter(!; t*is.datesDate+ime2icker = ne( System.'indo(s.Forms.Date+ime2icker(!; t*is.button1 = ne( System.'indo(s.Forms.Cutton(!; names,abel = ne( System.'indo(s.Forms.,abel(!; type,abel = ne( System.'indo(s.Forms.,abel(!; Luantity,abel = ne( System.'indo(s.Forms.,abel(!; cost,abel = ne( System.'indo(s.Forms.,abel(!; dates,abel = ne( System.'indo(s.Forms.,abel(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.sDJt*ersCindin Source!!.Ce inInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.stockDataSet!!.Ce inInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.invoiceCindin Source!!.Ce inInit(!; t*is.Suspend,ayout(!; t*is.label1.+e:t = 5-dd Stocks5; names,abel.-utoSi)e = true; names,abel.,ocation = ne( System.Dra(in .2oint(8@81 181!; names,abel.4ame = 5names,abel5; names,abel.Si)e = ne( System.Dra(in .Si)e(@61 83!; names,abel.+abInde: = 8; names,abel.+e:t = 5namesD5; type,abel.-utoSi)e = true; type,abel.,ocation = ne( System.Dra(in .2oint(8F11 1@3!; type,abel.4ame = 5type,abel5; type,abel.Si)e = ne( System.Dra(in .Si)e(9F1 83!; type,abel.+abInde: = 9; type,abel.+e:t = 5typeD5; Luantity,abel.-utoSi)e = true; Luantity,abel.,ocation = ne( System.Dra(in .2oint(8B11 177!; Luantity,abel.4ame = 5Luantity,abel5; Luantity,abel.Si)e = ne( System.Dra(in .Si)e(6F1 83!; Luantity,abel.+abInde: = @; Luantity,abel.+e:t = 5LuantityD5; cost,abel.-utoSi)e = true; cost,abel.,ocation = ne( System.Dra(in .2oint(8F11 8;F!; cost,abel.4ame = 5cost,abel5; cost,abel.Si)e = ne( System.Dra(in .Si)e(9F1 83!; cost,abel.+abInde: = F; cost,abel.+e:t = 5costD5;

84

dates,abel.-utoSi)e = true; dates,abel.,ocation = ne( System.Dra(in .2oint(8631 8F8!; dates,abel.4ame = 5dates,abel5; dates,abel.Si)e = ne( System.Dra(in .Si)e(B71 83!; dates,abel.+abInde: = 13; dates,abel.+e:t = 5datesD5; t*is.typeComboCo:.DataSource = t*is.sDJt*ersCindin Source; t*is.typeComboCo:.DisplayMember = 5type5; t*is.typeComboCo:.Formattin =nabled = true; t*is.typeComboCo:.,ocation = ne( System.Dra(in .2oint(;;B1 1B@!; t*is.typeComboCo:.4ame = 5typeComboCo:5; t*is.typeComboCo:.Si)e = ne( System.Dra(in .Si)e(1@61 8F!; t*is.typeComboCo:.+abInde: = B; t*is.typeComboCo:.AalueMember = 5type5; t*is.sDJt*ersCindin Source.DataMember = 5SD?Jt*ers5; t*is.sDJt*ersCindin Source.DataSource = t*is.stockDataSet; t*is.stockDataSet.DataSet4ame = 5stockDataSet5; t*is.stockDataSet.Sc*emaSeriali)ationMode = System.Data.Sc*emaSeriali)ationMode.IncludeSc*ema; t*is.Luantity+e:tCo:.,ocation = ne( System.Dra(in .2oint(;;B1 17@!; t*is.Luantity+e:tCo:.4ame = 5Luantity+e:tCo:5; t*is.Luantity+e:tCo:.Si)e = ne( System.Dra(in .Si)e(1@61 8@!; t*is.Luantity+e:tCo:.+abInde: = 6; t*is.cost+e:tCo:.,ocation = ne( System.Dra(in .2oint(;;B1 8;9!; t*is.cost+e:tCo:.4ame = 5cost+e:tCo:5; t*is.cost+e:tCo:.Si)e = ne( System.Dra(in .Si)e(1@61 8@!; t*is.cost+e:tCo:.+abInde: = 7; t*is.comboCo:1.DataSource = t*is.sDJt*ersCindin Source; t*is.comboCo:1.DisplayMember = 5names5; t*is.comboCo:1.Formattin =nabled = true; t*is.comboCo:1.,ocation = ne( System.Dra(in .2oint(;;B1 11@!; t*is.comboCo:1.4ame = 5comboCo:15; t*is.comboCo:1.Si)e = ne( System.Dra(in .Si)e(1@61 8F!; t*is.comboCo:1.+abInde: = 13; t*is.comboCo:1.AalueMember = 5names5; t*is.sD?Jt*ers+able-dapter.ClearCe"oreFill = true; t*is.invoiceCindin Source.DataMember = 5invoice5; t*is.invoiceCindin Source.DataSource = t*is.stockDataSet; t*is.invoice+able-dapter.ClearCe"oreFill = true;

t*is.datesDate+ime2icker.CustomFormat = 5ddMMMMMyyyy5; t*is.datesDate+ime2icker.DataCindin s.-dd(ne( System.'indo(s.Forms.Cindin (5Aalue51 t*is.invoiceCindin Source1 5dates51 true!!; t*is.datesDate+ime2icker.Format = System.'indo(s.Forms.Date+ime2ickerFormat.Custom; t*is.datesDate+ime2icker.,ocation = ne( System.Dra(in .2oint(;;B1 86F!;

85

t*is.datesDate+ime2icker.4ame = 5datesDate+ime2icker5; t*is.datesDate+ime2icker.Si)e = ne( System.Dra(in .Si)e(1@61 8@!; t*is.datesDate+ime2icker.+abInde: = 11; t*is.button1.,ocation = ne( System.Dra(in .2oint(;F61 ;;1!; t*is.button1.4ame = 5button15; t*is.button1.Si)e = ne( System.Dra(in .Si)e(11B1 ;F!; t*is.button1.+abInde: = 18; t*is.button1.+e:t = 5-dd Stocks5; t*is.button1.EseAisualStyleCackColor = true; t*is.button1.Click <= ne( System.=vent>andler(t*is.button1?Click!; t*is.-utoScaleDimensions = ne( System.Dra(in .Si)eF(13F1 83F!; t*is.ClientSi)e = ne( System.Dra(in .Si)e(6781 B@@!; t*is.Controls.-dd(t*is.button1!; t*is.Controls.-dd(dates,abel!; t*is.Controls.-dd(t*is.datesDate+ime2icker!; t*is.Controls.-dd(t*is.comboCo:1!; t*is.Controls.-dd(cost,abel!; t*is.Controls.-dd(t*is.cost+e:tCo:!; t*is.Controls.-dd(Luantity,abel!; t*is.Controls.-dd(t*is.Luantity+e:tCo:!; t*is.Controls.-dd(type,abel!; t*is.Controls.-dd(t*is.typeComboCo:!; t*is.Controls.-dd(names,abel!; t*is.4ame = 5-ddStocksKuantity5; t*is.,oad <= ne( System.=vent>andler(t*is.-ddStocksKuantity?,oad!; t*is.Controls.SetC*ildInde:(t*is.label11 3!; t*is.Controls.SetC*ildInde:(names,abel1 3!; t*is.Controls.SetC*ildInde:(t*is.typeComboCo:1 3!; t*is.Controls.SetC*ildInde:(type,abel1 3!; t*is.Controls.SetC*ildInde:(t*is.Luantity+e:tCo:1 3!; t*is.Controls.SetC*ildInde:(Luantity,abel1 3!; t*is.Controls.SetC*ildInde:(t*is.cost+e:tCo:1 3!; t*is.Controls.SetC*ildInde:(cost,abel1 3!; t*is.Controls.SetC*ildInde:(t*is.comboCo:11 3!; t*is.Controls.SetC*ildInde:(t*is.datesDate+ime2icker1 3!; t*is.Controls.SetC*ildInde:(dates,abel1 3!; t*is.Controls.SetC*ildInde:(t*is.button11 3!; ((System.ComponentModel.ISupportInitiali)e! (t*is.sDJt*ersCindin Source!!.=ndInit(!;

((System.ComponentModel.ISupportInitiali)e!(t*is.stockDataSet!!.=ndInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.invoiceCindin Source!!.=ndInit(!; t*is..esume,ayout("alse!; t*is.2er"orm,ayout(!; % &endre ion private System.'indo(s.Forms.ComboCo: typeComboCo:;

8:

private System.'indo(s.Forms.+e:tCo: Luantity+e:tCo:; private System.'indo(s.Forms.+e:tCo: cost+e:tCo:; private System.'indo(s.Forms.ComboCo: comboCo:1; private StockMaintance.aData.stockDataSet stockDataSet; private System.'indo(s.Forms.Cindin Source sDJt*ersCindin Source; private StockMaintance.aData.stockDataSet+able-dapters.SD?Jt*ers+able-dapter sD?Jt*ers+able-dapter; private System.'indo(s.Forms.Cindin Source invoiceCindin Source; private StockMaintance.aData.stockDataSet+able-dapters.invoice+able-dapter invoice+able-dapter; private System.'indo(s.Forms.Date+ime2icker datesDate+ime2icker; private System.'indo(s.Forms.Cutton button1; % %

Tem1&a e!
namespace StockMaintance { partial class +emplate { private System.ComponentModel.IContainer components = null; N

protected override void Dispose(bool disposin ! { i" (disposin ## (components $= null!! { components.Dispose(!; % base.Dispose(disposin !; % &re ion 'indo(s Form Desi ner enerated code

private void Initiali)eComponent(! { t*is.label1 = ne( System.'indo(s.Forms.,abel(!; t*is.Suspend,ayout(!; t*is.label1.Dock = System.'indo(s.Forms.DockStyle.+op; t*is.label1.Font = ne( System.Dra(in .Font(5Microso"t Sans Seri"51 8@.8BF1 System.Dra(in .FontStyle.Cold1 System.Dra(in .Orap*icsEnit.2oint1 ((byte!(3!!!; t*is.label1.,ocation = ne( System.Dra(in .2oint(31 3!; t*is.label1.4ame = 5label15; t*is.label1.Si)e = ne( System.Dra(in .Si)e(6781 @B!; t*is.label1.+abInde: = 1;

46

t*is.label1.+e:t = 5label15; t*is.label1.+e:t-li n = System.Dra(in .Content-li nment.MiddleCenter; t*is.-utoScaleDimensions = ne( System.Dra(in .Si)eF(13F1 83F!; t*is.-utoScaleMode = System.'indo(s.Forms.-utoScaleMode.Font; t*is.CackColor = System.Dra(in .Color.2eac*2u""; t*is.ClientSi)e = ne( System.Dra(in .Si)e(6781 B@@!; t*is.Controls.-dd(t*is.label1!; t*is.Font = ne( System.Dra(in .Font(5Microso"t Sans Seri"51 18F1 System.Dra(in .FontStyle.Cold1 System.Dra(in .Orap*icsEnit.2oint1 ((byte! (3!!!; t*is.Mar in = ne( System.'indo(s.Forms.2addin (B!; t*is.4ame = 5+emplate5; t*is.,oad <= ne( System.=vent>andler(t*is.+emplate?,oad!; t*is..esume,ayout("alse!; % &endre ion % % public System.'indo(s.Forms.,abel label1;

V#e6 S "$% :4an # /!


namespace StockMaintance { partial class vie(StockKuantity { N private System.ComponentModel.IContainer components = null; protected override void Dispose(bool disposin ! { i" (disposin ## (components $= null!! { components.Dispose(!; % base.Dispose(disposin !; % &re ion 'indo(s Form Desi ner enerated code

private void Initiali)eComponent(! { t*is.components = ne( System.ComponentModel.Container(!; System.'indo(s.Forms.,abel type,abel; System.'indo(s.Forms.,abel dates,abel; t*is.button8 = ne( System.'indo(s.Forms.Cutton(!; t*is.button1 = ne( System.'indo(s.Forms.Cutton(!; t*is.comboCo:1 = ne( System.'indo(s.Forms.ComboCo:(!; t*is.dataOridAie(1 = ne( System.'indo(s.Forms.DataOridAie((!;

41

t*is.idDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.namesDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.typeDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.LuantityDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.costDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.datesDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.invoiceCindin Source = ne( System.'indo(s.Forms.Cindin Source(t*is.components!; t*is.stockDataSet = ne( StockMaintance.aData.stockDataSet(!; t*is.datesDate+ime2icker = ne( System.'indo(s.Forms.Date+ime2icker(!; t*is.invoice+able-dapter = ne( StockMaintance.aData.stockDataSet+able-dapters.invoice+able-dapter(!; type,abel = ne( System.'indo(s.Forms.,abel(!; dates,abel = ne( System.'indo(s.Forms.,abel(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.dataOridAie(1!!.Ce inInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.invoiceCindin Source!!.Ce inInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.stockDataSet!!.Ce inInit(!; t*is.Suspend,ayout(!; t*is.label1.+e:t = 5Aie( Stock Kuantity5; type,abel.-utoSi)e = true; type,abel.,ocation = ne( System.Dra(in .2oint(B91 79!; type,abel.4ame = 5type,abel5; type,abel.Si)e = ne( System.Dra(in .Si)e(9F1 83!; type,abel.+abInde: = 1@; type,abel.+e:t = 5typeD5; dates,abel.-utoSi)e = true; dates,abel.,ocation = ne( System.Dra(in .2oint(;1;1 78!; dates,abel.4ame = 5dates,ableP; dates,abel.Si)e = ne( System.Dra(in .Si)e(B71 83!; dates,abel.+abInde: = 83; dates,abel.+e:t = 5datesD5; t*is.button8.,ocation = ne( System.Dra(in .2oint(@@31 FB!; t*is.button8.4ame = 5button85; t*is.button8.Si)e = ne( System.Dra(in .Si)e(671 87!; t*is.button8.+abInde: = 17; t*is.button8.+e:t = 5Epdate5; t*is.button8.EseAisualStyleCackColor = true; t*is.button8.Click <= ne( System.=vent>andler(t*is.button8?Click!; t*is.button1.,ocation = ne( System.Dra(in .2oint(B6@1 FB!; t*is.button1.4ame = 5button15; t*is.button1.Si)e = ne( System.Dra(in .Si)e(6B1 87!;

42

t*is.button1.+abInde: = 1F; t*is.button1.+e:t = 5Aie(5; t*is.button1.EseAisualStyleCackColor = true; t*is.button1.Click <= ne( System.=vent>andler(t*is.button1?Click!; t*is.comboCo:1.Formattin =nabled = true; t*is.comboCo:1.Items.-dd.an e(ne( obIect/0 { 5InStock51 5JutStock5%!; t*is.comboCo:1.,ocation = ne( System.Dra(in .2oint(13F1 F7!; t*is.comboCo:1.4ame = 5comboCo:15; t*is.comboCo:1.Si)e = ne( System.Dra(in .Si)e(1731 8F!; t*is.comboCo:1.+abInde: = 16; t*is.dataOridAie(1.-utoOenerateColumns = "alse; t*is.dataOridAie(1.-utoSi)eColumnsMode = System.'indo(s.Forms.DataOridAie(-utoSi)eColumnsMode.Fill; t*is.dataOridAie(1.Column>eaders>ei *tSi)eMode = System.'indo(s.Forms.DataOridAie(Column>eaders>ei *tSi)eMode.-utoSi)e; t*is.dataOridAie(1.Columns.-dd.an e(ne( System.'indo(s.Forms.DataOridAie(Column/0 { t*is.idDataOridAie(+e:tCo:Column1 t*is.namesDataOridAie(+e:tCo:Column1 t*is.typeDataOridAie(+e:tCo:Column1 t*is.LuantityDataOridAie(+e:tCo:Column1 t*is.costDataOridAie(+e:tCo:Column1 t*is.datesDataOridAie(+e:tCo:Column%!; t*is.dataOridAie(1.DataSource = t*is.invoiceCindin Source; t*is.dataOridAie(1.,ocation = ne( System.Dra(in .2oint(9;1 1;B!; t*is.dataOridAie(1.4ame = 5dataOridAie(15; t*is.dataOridAie(1.Si)e = ne( System.Dra(in .Si)e(6361 8@9!; t*is.dataOridAie(1.+abInde: = 1B; t*is.idDataOridAie(+e:tCo:Column.Data2roperty4ame = 5id5; t*is.idDataOridAie(+e:tCo:Column.>eader+e:t = 5id5; t*is.idDataOridAie(+e:tCo:Column.4ame = 5idDataOridAie(+e:tCo:Column5; t*is.idDataOridAie(+e:tCo:Column..eadJnly = true; t*is.namesDataOridAie(+e:tCo:Column.Data2roperty4ame = 5names5; t*is.namesDataOridAie(+e:tCo:Column.>eader+e:t = 5names5; t*is.namesDataOridAie(+e:tCo:Column.4ame = 5namesDataOridAie(+e:tCo:Column5; t*is.typeDataOridAie(+e:tCo:Column.Data2roperty4ame = 5type5; t*is.typeDataOridAie(+e:tCo:Column.>eader+e:t = 5type5; t*is.typeDataOridAie(+e:tCo:Column.4ame = 5typeDataOridAie(+e:tCo:Column5; 5Luantity5; t*is.LuantityDataOridAie(+e:tCo:Column.Data2roperty4ame =

t*is.LuantityDataOridAie(+e:tCo:Column.>eader+e:t = 5Luantity5; t*is.LuantityDataOridAie(+e:tCo:Column.4ame = 5LuantityDataOridAie(+e:tCo:Column5; t*is.costDataOridAie(+e:tCo:Column.Data2roperty4ame = 5cost5; t*is.costDataOridAie(+e:tCo:Column.>eader+e:t = 5cost5; t*is.costDataOridAie(+e:tCo:Column.4ame = 5costDataOridAie(+e:tCo:Column5;

43

t*is.datesDataOridAie(+e:tCo:Column.Data2roperty4ame = 5dates5; t*is.datesDataOridAie(+e:tCo:Column.>eader+e:t = 5dates5; t*is.datesDataOridAie(+e:tCo:Column.4ame = 5datesDataOridAie(+e:tCo:Column5; t*is.invoiceCindin Source.DataMember = 5invoice5; t*is.invoiceCindin Source.DataSource = t*is.stockDataSet; t*is.stockDataSet.DataSet4ame = 5stockDataSet5; t*is.stockDataSet.Sc*emaSeriali)ationMode = System.Data.Sc*emaSeriali)ationMode.IncludeSc*ema; t*is.datesDate+ime2icker.CustomFormat = 5ddMMMMMyyyy5; t*is.datesDate+ime2icker.Format = System.'indo(s.Forms.Date+ime2ickerFormat.Custom; t*is.datesDate+ime2icker.,ocation = ne( System.Dra(in .2oint(;6F1 FF!; t*is.datesDate+ime2icker.4ame = 5datesDate+ime2icker5; t*is.datesDate+ime2icker.Si)e = ne( System.Dra(in .Si)e(1@61 8@!; t*is.datesDate+ime2icker.+abInde: = 81; t*is.invoice+able-dapter.ClearCe"oreFill = true; t*is.-utoScaleDimensions = ne( System.Dra(in .Si)eF(13F1 83F!; t*is.ClientSi)e = ne( System.Dra(in .Si)e(6781 B@@!; t*is.Controls.-dd(dates,abel!; t*is.Controls.-dd(t*is.datesDate+ime2icker!; t*is.Controls.-dd(t*is.button8!; t*is.Controls.-dd(t*is.button1!; t*is.Controls.-dd(t*is.comboCo:1!; t*is.Controls.-dd(type,abel!; t*is.Controls.-dd(t*is.dataOridAie(1!; t*is.4ame = 5vie(StockKuantity5; t*is.Controls.SetC*ildInde:(t*is.label11 3!; t*is.Controls.SetC*ildInde:(t*is.dataOridAie(11 3!; t*is.Controls.SetC*ildInde:(type,abel1 3!; t*is.Controls.SetC*ildInde:(t*is.comboCo:11 3!; t*is.Controls.SetC*ildInde:(t*is.button11 3!; t*is.Controls.SetC*ildInde:(t*is.button81 3!; t*is.Controls.SetC*ildInde:(t*is.datesDate+ime2icker1 3!; t*is.Controls.SetC*ildInde:(dates,abel1 3!;

((System.ComponentModel.ISupportInitiali)e!(t*is.dataOridAie(1!!.=ndInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.invoiceCindin Source!!.=ndInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.stockDataSet!!.=ndInit(!; t*is..esume,ayout("alse!; t*is.2er"orm,ayout(!; % &endre ion private System.'indo(s.Forms.Cutton button8; private System.'indo(s.Forms.Cutton button1; private System.'indo(s.Forms.ComboCo: comboCo:1;

4;

private System.'indo(s.Forms.DataOridAie( dataOridAie(1; private System.'indo(s.Forms.Date+ime2icker datesDate+ime2icker; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column idDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column namesDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column typeDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column LuantityDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column costDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column datesDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.Cindin Source invoiceCindin Source; private StockMaintance.aData.stockDataSet stockDataSet; private StockMaintance.aData.stockDataSet+able-dapters.invoice+able-dapter invoice+able-dapter; % %

V#e6 s "$% +e a#&s!


namespace StockMaintance { partial class Aie(StocksDetails { private System.ComponentModel.IContainer components = null; protected override void Dispose(bool disposin ! { i" (disposin ## (components $= null!! { components.Dispose(!; % base.Dispose(disposin !; % &re ion 'indo(s Form Desi ner enerated code

private void Initiali)eComponent(! { t*is.components = ne( System.ComponentModel.Container(!; System.'indo(s.Forms.,abel type,abel; t*is.dataOridAie(1 = ne( System.'indo(s.Forms.DataOridAie((!; t*is.idDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.namesDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.companyDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!;

47

t*is.typeDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.costDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.sDetailsCindin Source = ne( System.'indo(s.Forms.Cindin Source(t*is.components!; t*is.stockDataSet = ne( StockMaintance.aData.stockDataSet(!; t*is.sDetails+able-dapter = ne( StockMaintance.aData.stockDataSet+able-dapters.SDetails+able-dapter(!; t*is.comboCo:1 = ne( System.'indo(s.Forms.ComboCo:(!; t*is.button1 = ne( System.'indo(s.Forms.Cutton(!; t*is.button8 = ne( System.'indo(s.Forms.Cutton(!; type,abel = ne( System.'indo(s.Forms.,abel(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.dataOridAie(1!!.Ce inInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.sDetailsCindin Source!!.Ce inInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.stockDataSet!!.Ce inInit(!; t*is.Suspend,ayout(!; t*is.label1.+e:t = 5Aie(StockDetails5; type,abel.-utoSi)e = true; type,abel.,ocation = ne( System.Dra(in .2oint(;1;1 F7!; type,abel.4ame = 5type,abel5; type,abel.Si)e = ne( System.Dra(in .Si)e(9F1 83!; type,abel.+abInde: = 11; type,abel.+e:t = 5typeD5; t*is.dataOridAie(1.-utoOenerateColumns = "alse; t*is.dataOridAie(1.-utoSi)eColumnsMode = System.'indo(s.Forms.DataOridAie(-utoSi)eColumnsMode.Fill; t*is.dataOridAie(1.Column>eaders>ei *tSi)eMode = System.'indo(s.Forms.DataOridAie(Column>eaders>ei *tSi)eMode.-utoSi)e; t*is.dataOridAie(1.Columns.-dd.an e(ne( System.'indo(s.Forms.DataOridAie(Column/0 { t*is.idDataOridAie(+e:tCo:Column1 t*is.namesDataOridAie(+e:tCo:Column1 t*is.companyDataOridAie(+e:tCo:Column1 t*is.typeDataOridAie(+e:tCo:Column1 t*is.costDataOridAie(+e:tCo:Column%!; t*is.dataOridAie(1.DataSource = t*is.sDetailsCindin Source; t*is.dataOridAie(1.,ocation = ne( System.Dra(in .2oint(911 11F!; t*is.dataOridAie(1.4ame = 5dataOridAie(15; t*is.dataOridAie(1.Si)e = ne( System.Dra(in .Si)e(6361 8@9!; t*is.dataOridAie(1.+abInde: = 8; t*is.idDataOridAie(+e:tCo:Column.Data2roperty4ame = 5id5; t*is.idDataOridAie(+e:tCo:Column.>eader+e:t = 5id5; t*is.idDataOridAie(+e:tCo:Column.4ame = 5idDataOridAie(+e:tCo:Column5; t*is.idDataOridAie(+e:tCo:Column..eadJnly = true; t*is.namesDataOridAie(+e:tCo:Column.Data2roperty4ame = 5names5; t*is.namesDataOridAie(+e:tCo:Column.>eader+e:t = 5names5; t*is.namesDataOridAie(+e:tCo:Column.4ame = 5namesDataOridAie(+e:tCo:Column5;

48

t*is.companyDataOridAie(+e:tCo:Column.Data2roperty4ame = 5company5; t*is.companyDataOridAie(+e:tCo:Column.>eader+e:t = 5company5; t*is.companyDataOridAie(+e:tCo:Column.4ame = 5companyDataOridAie(+e:tCo:Column5; t*is.typeDataOridAie(+e:tCo:Column.Data2roperty4ame = 5type5; t*is.typeDataOridAie(+e:tCo:Column.>eader+e:t = 5type5; t*is.typeDataOridAie(+e:tCo:Column.4ame = 5typeDataOridAie(+e:tCo:Column5; t*is.costDataOridAie(+e:tCo:Column.Data2roperty4ame = 5cost5; t*is.costDataOridAie(+e:tCo:Column.>eader+e:t = 5cost5; t*is.costDataOridAie(+e:tCo:Column.4ame = 5costDataOridAie(+e:tCo:Column5; t*is.sDetailsCindin Source.DataMember = 5SDetails5; t*is.sDetailsCindin Source.DataSource = t*is.stockDataSet; t*is.stockDataSet.DataSet4ame = 5stockDataSet5; t*is.stockDataSet.Sc*emaSeriali)ationMode = System.Data.Sc*emaSeriali)ationMode.IncludeSc*ema; t*is.sDetails+able-dapter.ClearCe"oreFill = true; t*is.comboCo:1.Formattin =nabled = true; t*is.comboCo:1.Items.-dd.an e(ne( obIect/0 { 5InStock51 5JutStock5%!; t*is.comboCo:1.,ocation = ne( System.Dra(in .2oint(;@61 F9!; t*is.comboCo:1.4ame = 5comboCo:15; t*is.comboCo:1.Si)e = ne( System.Dra(in .Si)e(1731 8F!; t*is.comboCo:1.+abInde: = 18; t*is.button1.,ocation = ne( System.Dra(in .2oint(BF31 F;!; t*is.button1.4ame = 5button15; t*is.button1.Si)e = ne( System.Dra(in .Si)e(6B1 87!; t*is.button1.+abInde: = 1;; t*is.button1.+e:t = 5Aie(5;

t*is.button1.EseAisualStyleCackColor = true; t*is.button1.Click <= ne( System.=vent>andler(t*is.button1?Click!; t*is.button8.,ocation = ne( System.Dra(in .2oint(@@71 F;!; t*is.button8.4ame = 5button85; t*is.button8.Si)e = ne( System.Dra(in .Si)e(671 87!; t*is.button8.+abInde: = 19; t*is.button8.+e:t = 5Epdate5; t*is.button8.EseAisualStyleCackColor = true; t*is.button8.Click <= ne( System.=vent>andler(t*is.button8?Click!; t*is.-utoScaleDimensions = ne( System.Dra(in .Si)eF(13F1 83F!; t*is.ClientSi)e = ne( System.Dra(in .Si)e(6781 B@@!; t*is.Controls.-dd(t*is.button8!; t*is.Controls.-dd(t*is.button1!; t*is.Controls.-dd(t*is.comboCo:1!; t*is.Controls.-dd(type,abel!;

44

t*is.Controls.-dd(t*is.dataOridAie(1!; t*is.4ame = 5Aie(StocksDetails5; t*is.Controls.SetC*ildInde:(t*is.dataOridAie(11 3!; t*is.Controls.SetC*ildInde:(t*is.label11 3!; t*is.Controls.SetC*ildInde:(type,abel1 3!; t*is.Controls.SetC*ildInde:(t*is.comboCo:11 3!; t*is.Controls.SetC*ildInde:(t*is.button11 3!; t*is.Controls.SetC*ildInde:(t*is.button81 3!; ((System.ComponentModel.ISupportInitiali)e! (t*is.dataOridAie(1!!.=ndInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.sDetailsCindin Source!!.=ndInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.stockDataSet!!.=ndInit(!; t*is..esume,ayout("alse!; t*is.2er"orm,ayout(!; % &endre ion private System.'indo(s.Forms.DataOridAie( dataOridAie(1; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column idDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column namesDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column companyDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column typeDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column costDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.Cindin Source sDetailsCindin Source;

private StockMaintance.aData.stockDataSet stockDataSet; private StockMaintance.aData.stockDataSet+able-dapters.SDetails+able-dapter sDetails+able-dapter; private System.'indo(s.Forms.ComboCo: comboCo:1; private System.'indo(s.Forms.Cutton button1; private System.'indo(s.Forms.Cutton button8; % %

V#e6 S "$% W#se!


namespace StockMaintance { partial class Aie(Stock'ise {

45

private System.ComponentModel.IContainer components = null; N protected override void Dispose(bool disposin ! { i" (disposin ## (components $= null!! { components.Dispose(!; % base.Dispose(disposin !; % &re ion 'indo(s Form Desi ner enerated code

private void Initiali)eComponent(! { t*is.components = ne( System.ComponentModel.Container(!; System.'indo(s.Forms.,abel type,abel; t*is.button1 = ne( System.'indo(s.Forms.Cutton(!; t*is.comboCo:1 = ne( System.'indo(s.Forms.ComboCo:(!; t*is.dataOridAie(1 = ne( System.'indo(s.Forms.DataOridAie((!; t*is.idDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.namesDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.typeDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.LuantityDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.costDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!; t*is.datesDataOridAie(+e:tCo:Column = ne( System.'indo(s.Forms.DataOridAie(+e:tCo:Column(!;

t*is.vie(InvoiceCindin Source = ne( System.'indo(s.Forms.Cindin Source(t*is.components!; t*is.stockDataSet = ne( StockMaintance.aData.stockDataSet(!; t*is.vie(Invoice+able-dapter = ne( StockMaintance.aData.stockDataSet+able-dapters.Aie(Invoice+able-dapter(!; t*is.sDJt*ersCindin Source = ne( System.'indo(s.Forms.Cindin Source(t*is.components!; t*is.sD?Jt*ers+able-dapter = ne( StockMaintance.aData.stockDataSet+able-dapters.SD?Jt*ers+able-dapter(!; type,abel = ne( System.'indo(s.Forms.,abel(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.dataOridAie(1!!.Ce inInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.vie(InvoiceCindin Source!!.Ce inInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.stockDataSet!!.Ce inInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.sDJt*ersCindin Source!!.Ce inInit(!; t*is.Suspend,ayout(!;

4:

t*is.label1.+e:t = 5Individual Stock details5; type,abel.-utoSi)e = true; type,abel.,ocation = ne( System.Dra(in .2oint(;@61 7B!; type,abel.4ame = 5type,abel5; type,abel.Si)e = ne( System.Dra(in .Si)e(691 83!; type,abel.+abInde: = 8;; type,abel.+e:t = 54ames D5; t*is.button1.,ocation = ne( System.Dra(in .2oint(@B71 F7!; t*is.button1.4ame = 5button15; t*is.button1.Si)e = ne( System.Dra(in .Si)e(6B1 87!; t*is.button1.+abInde: = 8B; t*is.button1.+e:t = 5Aie(5; t*is.button1.EseAisualStyleCackColor = true; t*is.button1.Click <= ne( System.=vent>andler(t*is.button1?Click!; t*is.comboCo:1.DataSource = t*is.sDJt*ersCindin Source; t*is.comboCo:1.DisplayMember = 5names5; t*is.comboCo:1.Formattin =nabled = true; t*is.comboCo:1.,ocation = ne( System.Dra(in .2oint(99F1 73!; t*is.comboCo:1.4ame = 5comboCo:15; t*is.comboCo:1.Si)e = ne( System.Dra(in .Si)e(1731 8F!; t*is.comboCo:1.+abInde: = 89; t*is.comboCo:1.AalueMember = 5names5; t*is.dataOridAie(1.-utoOenerateColumns = "alse; t*is.dataOridAie(1.-utoSi)eColumnsMode = System.'indo(s.Forms.DataOridAie(-utoSi)eColumnsMode.Fill; t*is.dataOridAie(1.Column>eaders>ei *tSi)eMode = System.'indo(s.Forms.DataOridAie(Column>eaders>ei *tSi)eMode.-utoSi)e;

t*is.dataOridAie(1.Columns.-dd.an e(ne( System.'indo(s.Forms.DataOridAie(Column/0 { t*is.idDataOridAie(+e:tCo:Column1 t*is.namesDataOridAie(+e:tCo:Column1 t*is.typeDataOridAie(+e:tCo:Column1 t*is.LuantityDataOridAie(+e:tCo:Column1 t*is.costDataOridAie(+e:tCo:Column1 t*is.datesDataOridAie(+e:tCo:Column%!; t*is.dataOridAie(1.DataSource = t*is.vie(InvoiceCindin Source; t*is.dataOridAie(1.,ocation = ne( System.Dra(in .2oint(9;1 1;B!; t*is.dataOridAie(1.4ame = 5dataOridAie(15; t*is.dataOridAie(1.Si)e = ne( System.Dra(in .Si)e(6361 ;39!; t*is.dataOridAie(1.+abInde: = 88; t*is.idDataOridAie(+e:tCo:Column.Data2roperty4ame = 5id5; t*is.idDataOridAie(+e:tCo:Column.>eader+e:t = 5id5; t*is.idDataOridAie(+e:tCo:Column.4ame = 5idDataOridAie(+e:tCo:Column5; t*is.idDataOridAie(+e:tCo:Column..eadJnly = true; t*is.namesDataOridAie(+e:tCo:Column.Data2roperty4ame = 5names5; t*is.namesDataOridAie(+e:tCo:Column.>eader+e:t = 5names5; t*is.namesDataOridAie(+e:tCo:Column.4ame = 5namesDataOridAie(+e:tCo:Column5;

56

t*is.typeDataOridAie(+e:tCo:Column.Data2roperty4ame = 5type5; t*is.typeDataOridAie(+e:tCo:Column.>eader+e:t = 5type5; t*is.typeDataOridAie(+e:tCo:Column.4ame = 5typeDataOridAie(+e:tCo:Column5; t*is.LuantityDataOridAie(+e:tCo:Column.Data2roperty4ame = 5Luantity5; t*is.LuantityDataOridAie(+e:tCo:Column.>eader+e:t = 5Luantity5; t*is.LuantityDataOridAie(+e:tCo:Column.4ame = 5LuantityDataOridAie(+e:tCo:Column5; t*is.costDataOridAie(+e:tCo:Column.Data2roperty4ame = 5cost5; t*is.costDataOridAie(+e:tCo:Column.>eader+e:t = 5cost5; t*is.costDataOridAie(+e:tCo:Column.4ame = 5costDataOridAie(+e:tCo:Column5; t*is.datesDataOridAie(+e:tCo:Column.Data2roperty4ame = 5dates5; t*is.datesDataOridAie(+e:tCo:Column.>eader+e:t = 5dates5; t*is.datesDataOridAie(+e:tCo:Column.4ame = 5datesDataOridAie(+e:tCo:Column5; t*is.vie(InvoiceCindin Source.DataMember = 5Aie(Invoice5; t*is.vie(InvoiceCindin Source.DataSource = t*is.stockDataSet; t*is.stockDataSet.DataSet4ame = 5stockDataSet5; t*is.stockDataSet.Sc*emaSeriali)ationMode = System.Data.Sc*emaSeriali)ationMode.IncludeSc*ema; t*is.vie(Invoice+able-dapter.ClearCe"oreFill = true; t*is.sDJt*ersCindin Source.DataMember = 5SD?Jt*ers5; t*is.sDJt*ersCindin Source.DataSource = t*is.stockDataSet; t*is.sD?Jt*ers+able-dapter.ClearCe"oreFill = true; t*is.-utoScaleDimensions = ne( System.Dra(in .Si)eF(13F1 83F!; t*is.ClientSi)e = ne( System.Dra(in .Si)e(6781 B@@!; t*is.Controls.-dd(t*is.button1!; t*is.Controls.-dd(t*is.comboCo:1!; t*is.Controls.-dd(type,abel!; t*is.Controls.-dd(t*is.dataOridAie(1!; t*is.4ame = 5Aie(Stock'ise5; t*is.,oad <= ne( System.=vent>andler(t*is.Aie(Stock'ise?,oad!; t*is.Controls.SetC*ildInde:(t*is.label11 3!; t*is.Controls.SetC*ildInde:(t*is.dataOridAie(11 3!; t*is.Controls.SetC*ildInde:(type,abel1 3!; t*is.Controls.SetC*ildInde:(t*is.comboCo:11 3!; t*is.Controls.SetC*ildInde:(t*is.button11 3!; ((System.ComponentModel.ISupportInitiali)e! (t*is.dataOridAie(1!!.=ndInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.vie(InvoiceCindin Source!!.=ndInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.stockDataSet!!.=ndInit(!; ((System.ComponentModel.ISupportInitiali)e! (t*is.sDJt*ersCindin Source!!.=ndInit(!; t*is..esume,ayout("alse!; t*is.2er"orm,ayout(!;

51

% &endre ion private System.'indo(s.Forms.Cutton button1; private System.'indo(s.Forms.ComboCo: comboCo:1; private System.'indo(s.Forms.DataOridAie( dataOridAie(1; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column idDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column namesDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column typeDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column LuantityDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column costDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.DataOridAie(+e:tCo:Column datesDataOridAie(+e:tCo:Column; private System.'indo(s.Forms.Cindin Source vie(InvoiceCindin Source; private StockMaintance.aData.stockDataSet stockDataSet; private StockMaintance.aData.stockDataSet+able-dapters.Aie(Invoice+able-dapter vie(Invoice+able-dapter; private System.'indo(s.Forms.Cindin Source sDJt*ersCindin Source; private StockMaintance.aData.stockDataSet+able-dapters.SD?Jt*ers+able-dapter sD?Jt*ers+able-dapter; % %

52

SOFTWARE TESTING

CHAPTER = SOFTWARE TESTING

=.1 S(STEM TESTING


$oftware will undergo many changes after it is delivered to the user :ecause of many errors, performance enhancements and change to new environments. $ystem testing is the stage of implementations, which is aimed at ensuring that the system works accurately and efficiently before live operations commences. "esting is vital to the success of the system. "he candidate system is subject to a variety of tests. Data prepared for the purpose of testing is called test data. "esting is the process by which the programmers generate a set of test data, which gives the maximum probability of finding all types of errors that can occur in the software and the following steps has been performed. 7nit "esting
53

ntegration "esting

6alidation "esting 5utput "esting 7ser acceptance "esting

=.1.1 UNIT TESTING


7nit testing comprises generally of elements tested done by a developer. 8ach developer or development team will perform its own unit testing. "his testing is carried put during programming stage itself. n this step each data has been tested for parallel to its development and the uncovered errors were corrected.

=.1.) INTEGRATION TESTING


ntegration testing is a systematic techni&ue for constructing tests to uncover errors associated within the interface. t comprises two or more developers or development teams combining the programs to determine how they work together. n this testing the reporting components were integrated with the rest of the application and tested to ensure that the whole system worked correctly. "he report components were loaded into the system and run through the application the reports generated from the application were then verified.

=.1.2 VALIDATION TESTING

5;

6alidation testing is where re&uirements established as a part of software re&uirements analysis is validated against the software that has been constructed. "his test provided the assurance that the software meets all functional, behavioral and performance re&uirements. "he rules generation form on the system has sent test data for the reports along with the expected output. "he values for the report input parameters were specified and the expected report data were sent in PD3 format. 0t offshore, the reports were run with the specified input parameters. "he reports generated were compared with the reports in the PD3 format and was found to be correct.

=.1.3 OUTPUT TESTING


0fter performing the validation testing, the next step is the output testing of the enhanced system. >o system could be useful if it does not produce the re&uired output in the re&uired format. "he output generated by the system are tested according to the users re&uirement. During output testing the user re&uires some new report layout changes. "hese changes were done and tested before the final delivery of the system.

=.1.8 USER ACCEPTANCE TESTING


7ser acceptance testing comprises a completed and successful end to end system test with review of the results by one or more user with specific knowledge. 7sers may apply a variety of validation techni&ues. 3or example@ generate a report from the new system and compare the results with the same report from the current system, data inspection and others. Prior to this testing the system was delivered to the client along with the steps for implementation. n user acceptance testing the system was run in the client environment by the actual system users. "he users were allowed to test the system and raise any issues for a specific period after which the system is assumed to be complete and error free.

57

58

SCREEN SHOTS

CHAPTER 17 SCREEN SHOTS

54

55

5:

:6

:1

:2

CONCLUSION

:3

CHAPTER > CONCLUSION


"hus the project gives the detailed explanation about how stock is maintained in an organi'ation. t also gives idea about how stocks are to be purchased and how to be maintained in a company.
"he project has been appreciated by all the users.

t is easy to use, $ince it uses the !7 provided in the user dialog.

7ser friendly screens are provided. "he usage of software increase the increasing the efficiency, decrease the effort.

t has been thoroughly tested and implemented.

:;

You might also like