Ads 468x60px

Tuesday, August 14, 2012

الفية بن مالك الجزء الاول

البداية:



1) قال محمد هو ابن مالك أحمد ربي الله خير مالك

2)
مصلياً على النبي المصطفى وآله المستكملين الشرفا

3)
وأستعين الله في ألفية ابن مالك مقاصد النحو به محويه

4)
تقرب القصى بلفظ موجز وتبسط البذل بوعد منجز

5)
وتقتضى رضا بغير سخط فـائقة ألفية ابن معطى

6)
وهوبسبق حائز تفضيلا مستوجب ثنائى الجميلا

7)
والله يقضي بهبات وافره لي وله في درجات الآخره



الكلام وما يتألف منه


8)
كلامنا لفظ مفيد كاستـقـم واسم و فـعل ثم حرف الكلم

9)
واحده كلمه والقول عـم وكلمة بها كـلام قـد يـؤم

10)
بالجر والتنوين والند وأل ومسند للاسم تمييز حصل

11)
بتا فعلت وأنت ويا افعلي ونون أقبـلن فعـل ينجلي

12)
سواهما الحرف كهل وفي ولم فعل مضارع يلي لم كبـثم

13)
وماضي الأفعال بتامز وسم بالنون فعل الأمر إن أمر فهم

14)
والأمر إن لم يك للنون محل فيه هو اسم نحو صه وحيهل


المعرب والمبنى


الفية بن مالك الجزء الثاني

حرف الجر

364) هاك حروف الجر وهي من الى حتى خلا حاشا عدا في عن على


365) مذ منذ رب اللام كى واو وتا والكاف والبا ولعـل ومـتـى


366) بالظاهر أخصص منذ مذ وحتى والكاف والواو ورب والتــاء


367) واخصص بمذ ومنذ وقتاً وبرب منكـر والتـاء لـلـه ورب


368) وما رووا من نحو ربه فتى نزر كذا كـهـا ونحــوه أتى


369) بعض وبين وابتدى فى الأمكنه بمن وقد تأتى لبـدء الأزمـنه


370) وزيد فى نفى وشبهه فجـر نكرة كمـا لباغ مـن مـفـر


371) للانتها حتـى ولام والـى ومن وباء يفـهـمـان بـدلا


372) واللام للملك وشبهــه وفي تعدية أيضاً وتعـليل قـفـى


373) وزيد والظرفية استبن ببـا وفي وقد يبينـان السـبـبـا


374) بالبا استعن وعد عوض ألصق ومثل مع ومن وعن بها انطق


375) على للأستعلا ومعنى في وعن بعن تجاوزا عنى من قد فطن


376) وقد تجى موضع بعد وعلى كما على موضع عن قد جعلا


377) شبه بكاف وبها التعليل قد يعنى وزائداً لتـوكيـد ورد


378) واستعمل اسماً وكذا عن وعلى من أجل عليهما من دخــلا


379) ومذ ومنذ اسمان حيث رفعا أو أوليا الفعل كجئث مد دعا


380) وان يجرا في مضى فكمن هما وفي الحضور معنى في استبن


381) وبعد من وعن وباء زيد ما فلم يعق عن عمل قد علمـا


382) وزيد بعد رب والكاف فكف وقد يليهما وجر لم يـكـف


383) وحذفت رب فجرت بعد بل وألفا وبعد الواو وشاع ذا العمل


384) وقد يجر بسوى رب لدى حذف وبعضه يرى مطردا



الإضافة


الفية بن مالك الجزء الثالث




ما لا ينصرف

649) الصرف تنوين اتى مبينا معنى به يكون الاسـم امكن


650) فالف التانيث مطلقا منع صرف الذي حواه كيفما وقع


651) وزائد فعلان في وصفه سلم من ان يرى بتاء تأنيث ختم


652) ووصف اصلى ووزن افعلا ممنوع تانيث بتا كأشـهـلا


653) والغين عارض الوصفيـه كأربع وعارض الاسـميـه


654) فالادهم القيد لكونه وضع فى الاصل وصفا انصراف منع


655) واجدل واخيل وافـعـى مصروفة وقـد ينلـن المنعـا


656) ومنع عدل مع وصف معتبر فى لفـظ مثنى وثلاث واخـر


657) ووزن مـثـنى كهمـا من واحد لأربـع فليعـلـمـا


658) وكن لجمع مشبه مفاعلا أو المفـاعلين بمنـع كـافـلا


659) وذا اعتلال منه كالجوارى رفعا وجـرا اجـره كسـارى


660) ولـراويل بـهذا الجمـع شـبه اقتفى عمـوم المـنـع


661) وان به سـمى أو بما لحق به فالانصراف منعه بـحـق


662) والعلم امنع صرفه مركبا تركيب مزج نحو معد يكربا


663) كذلك حاوى زائدى فعلانا كـغطفان وكـأصـبهـانا


664) كذا مؤنث بهاء مطلـقـا وشـرط منع العار كونه ارتقى


665) فوق الثلاث او كجور او سقر او زيد اسم امراة لا اسم ذكر


666) وجهان في العادم تذكيرا سبق وعجمة كهـند والمنع احق


667) والعجمى الوضع والتعريف مع زيد على الثلاث صرفه امتنع


668) كذالك ذو النون يخص الفعلا او غالب كأحـمـد ويعـلى


669) وما بصير علما من ذي الف زيدت لإلحاق فليس ينصرف


670) والعلم امنع صرفه ان عدلا كفعل التوكيد او كثـعـلا


671) والعدل والتعريف مانعا سحر اذا به التعبين قصدا يعتب


672) وابن على الكسر فعال علما مؤنثا وهو نظير جشمـا


673) عند تميم واصرفن ما نكرا من كل ما التعريف فيه اثرا


674) وما يكون منه منقوصا ففى اعرابه نهج جوار يقتفى


675) ولا ضطرار او تناسب صرف ذو المنع والمصروف قد لا ينصرف


إعراب الفعل

Tuesday, July 3, 2012

XAF : Grouping of Report Data Based on Specific Field

To group report data based on specific field, you should follow the following steps
  • Run XAF desktop application [note that report can't be modified from XAF web app.]
  • Edit your report via XAF Report Designer
  • Right mouse click then put mouse on Insert Band, after that click on GroupHeader.

Wednesday, May 30, 2012

How to write a Stored procedure in SQL-SERVER

Stored Procedure:- Stored Procedure In Sql server can be defined as the set of logically group of sql statement which are grouped to perform a specific task. There are many benefits of using a stored procedure. The main benefit of using a stored procedure is that it increases the performance of the database.The other benefits of using the Stored Procedure is given below:

Benefits of using the Stored Procedure
  1. One of the main benefit of using the Stored procedure is that it reduces the amount of information sent to the database server. It can become more important benefit when the bandwidth of the network is less. Since if we send the sql query (statement)which is executing in a loop to the server through network and the network get disconnected then the execution of the sql statement don't returns the expected results, if the sql query is not used between Transaction statement and rollback statement is not used.
     
  2. Compilation step is required only once when the stored procedure is created. Then after it does not required recompilation before executing unless it is modified and re utilizes the same execution plan whereas the sql statements needs to be compiled every time whenever it is sent for execution even if we send the same sql statement every time.
     
  3. It helps in re usability of the sql code because it can be used by multiple users and by multiple client since we needs to just call the stored procedure instead of writing the same sql statement every time. It helps in reduces the development time.
     
  4. Stored procedure is helpful in enhancing the security since we can grant permission to the user for executing the Stored procedure instead of giving the permission on the tables used in the Stored procedure.
     
  5. Sometime it is useful to use the database for storing the business logic in the form of stored procedure since it make it secure and if any change is needed in the business logic then we may only need to make changes in the stored procedure and not in the files contained on the web server.
How to write a Stored Procedure in SQL Server

Suppose there is a table called tbl_Students whose structure is given below:

CREATE TABLE  tbl_Students

(
    [Studentid] [int] IDENTITY(1,1) NOT NULL,
    [Firstname] [nvarchar](200) NOT  NULL,
    [Lastname] [nvarchar](200)  NULL,
    [Email] [nvarchar](100)  NULL
)
 
Suppose we insert the following data into the above table:
Insert into tbl_Students (Firstname, lastname, Email)
 Values('Vivek', 'Johari', 'vivek@abc.com')

Insert into tbl_Students (Firstname, lastname, Email)
 Values('Pankaj', 'Kumar', 'pankaj@abc.com')

Insert into tbl_Students (Firstname, lastname, Email)
 Values('Amit', 'Singh', 'amit@abc.com')

Insert into tbl_Students (Firstname, lastname, Email)
 Values('Manish', 'Kumar', 'manish@abc.comm')

Insert into tbl_Students (Firstname, lastname, Email)D
 Values('Abhishek', 'Singh', 'abhishek@abc.com')


Friday, May 4, 2012

XAF : Change Listview Default GroupSummary

The following steps will used to change group summary for Listview:
  1. Open model designer by click on application file Model.xafml under YourProject.Web
     
  2. Change GroupSummary Property as shown below:

     
  3. GroupSummary Format Structure {1}:{2},{3}:{4}
    example : TotalPrivateCharge:Sum,TotalPrivateCharge:Sum={0:n2}
     
    1. Property Name
    2. Aggregation Function
    3. Property Name
    4. Aggregation String Format. [Sum={0:n2}]
      1. '0' means first argument which is TotalPrivateCharge
      2. 'n2' means the second argument which is aggregation function value.
    5. Result for this aggregation function is 'Sum=25.12'

Monday, April 30, 2012

XAF : Add Sequence (Serial) Number into a Report

In order to add sequence or serial number such that 1,2,3,4,...etc into a report in devexpress, you should follow the following steps
  • add a Label into a report

  •  Expand Label Tasks dialog

  •  Set Summary Function to Record Number, and Summary Running to Group

Thursday, April 26, 2012

Top Search Tips

At the end of our internet search workshops, participants are asked to come up with a collective top search tips. These can be search tools, individual web sites or search techniques. This is a compilation of the tips from several workshops over the past year.
  1. It isn't your fault! You run your search a second time in Google and you get a completely different set of results, despite having run the same search a mere 20 minutes before. Or you run a site search in Google but the results come from here, there and everywhere. Or your results bear no resemblance whatsoever to your search strategy. Don't worry - it isn't you. Google results are rarely consistent or reproducible from one moment to the next. If you are having serious difficulties getting any sense out of Google, don't struggle. Try another search engine (http://search.yahoo.co.uk), Live (http://www.live.com/), MSE360 (http://www.mse360.com/), Exalead (http://www.exalead.co.uk/)
     
  2. Google Tip 1 highlighted some of the problems with Google but it can still deliver the goods a lot of the time, and it is still the first port of call for most of us. Make sure, though, that you are using the advanced search features to the full and that you are using the right part of Google, for example News for current headlines, Images, Blogsearch etc.
     
  3. Use the Advanced Search screen. There are lots of goodies to be found on the advanced search screens: options for focusing your search by file format (e.g. xls for data and statistics, ppt for expert presentations, pdf for industry or government reports); site and domain search to limit your search to just one web site or a type of organization (e.g. UK government, US academic); and in Google there is a numeric range search.
     
  4. Google Custom Search Engines (Google CSE) at http://www.google.com/coop/cse/. Ideal for building collections of sites that you regularly search, to create a searchable subject list, or to offer your users a more focused search option.
     
  5. See what Google does with your search string. a) If you use the default search box and Google comes back with odd results, click on Advanced Search to see what it has done with your search terms. b) If you use the Advanced Search screen and fill in the boxes, see how Google formats the search strategy by looking the search box at the top of the results page. By learning the commands and prefixes you can build more specific searches on the default search page.

Monday, April 23, 2012

XAF : Show Reports for Individual Views

The Reports module allows you to design reports for a filtered data source. In some scenarios, you may need to preview a report for a certain object or a set of objects that are not related by a criteria. For example, the Invoice business object(s) should be able to be printed in a specific manner. In this case, a specially designed report should be available for display for a particular set of Invoice objects. For this purpose, use the Inplace Reporting feature provided by the Reports module. This topic demonstrates how to use this feature.

To show selected object(s) in a specified report, the Reports module introduces the ShowInReport Action. This Action represents the SingleChoiceAction class instance. Its items represent so-called inplace reports that are designed for the current View's object type.


Wednesday, April 11, 2012

XAF : Override ListView Default Action

In order to override list view default action, you should do the following
  1. Add view controller to your project [i.e. ListViewActionsController]
  2. make class (ListViewActionsController) inherit from DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController
  3. Override the function.[i.e. ProcessCurrentObject].
The following example present an example for this:

   1:  Imports System
   2:  Imports System.ComponentModel
   3:  Imports System.Collections.Generic
   4:  Imports System.Diagnostics
   5:  Imports System.Text
   6:   
   7:  Imports DevExpress.ExpressApp
   8:  Imports DevExpress.ExpressApp.Actions
   9:  Imports DevExpress.Persistent.Base
  10:   
  11:  Public Class ListViewActionsController Inherits
  12:  DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController
  13:   
  14:      Public Shared usrname As String
  15:      Public Sub New()
  16:          MyBase.New()
  17:   
  18:          'This call is required by the Component Designer.
  19:          InitializeComponent()
  20:          RegisterActions(components)
  21:   
  22:      End Sub
  23:   
  24:      Protected Overrides Sub ProcessCurrentObject(ByVal e As 
               DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs)
  25:          If (e.CurrentObject.GetType.Name = "PhoneHolder" And 
                       View.Id = "CustomHolderListView") Then        
  26:              BillingSystem.Module.sharedMod.currentClickedUsername = 
                                   CType(e.CurrentObject, PhoneHolder).UserName
  27:          End If
  28:   
  29:          MyBase.ProcessCurrentObject(e)
  30:      End Sub
  31:   
  32:  End Class

Thursday, April 5, 2012

XAF : Override DetailedView Action

In order to override detailed view action such as SaveAndClose, you should do the following
  1. Add view controller to your project [i.e. DefaultDetailViewActions]
  2. make class (DefaultDetailViewActions) inherit from WebDetailViewController
  3. Override the function.[i.e. SaveAndClose].
The following example present an example for override SaveAndClose function:

   1:  Imports System
   2:  Imports System.ComponentModel
   3:  Imports System.Collections.Generic
   4:  Imports System.Diagnostics
   5:  Imports System.Text
   6:   
   7:  Imports DevExpress.ExpressApp
   8:  Imports DevExpress.ExpressApp.Actions
   9:  Imports DevExpress.Persistent.Base
  10:   
  11:  Imports DevExpress.ExpressApp.Web.SystemModule
  12:  Public Class DefaultDetailViewActions
  13:      Inherits WebDetailViewController
  14:   
  15:      Public Sub New()
  16:          MyBase.New()
  17:   
  18:          'This call is required by the Component Designer.
  19:          InitializeComponent()
  20:          RegisterActions(components)
  21:   
  22:      End Sub
  23:   
  24:      Protected Overrides Sub SaveAndClose(ByVal args As 
                        DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs)
  25:          If args.CurrentObject.GetType.Name = "Calendar" Then
  26:              autoCalendarEntriesAddition(args)
  27:   
  28:          End If
  29:          MyBase.SaveAndClose(args)
  30:      End Sub

Monday, April 2, 2012

XAF : Replace Dropdown Listbox PropertyEditor With RadioGroup PropertyEditor

In order to change the default property editor from which is DropdownList control to RadioGroup control, first you should add the following file to your project folders [i.e. RadioGroupEnumPropertyEditor.vb]

   1:  Imports System
   2:  Imports System.Collections.Generic
   3:  Imports DevExpress.ExpressApp.Web.Editors
   4:  Imports System.Web.UI.WebControls
   5:  Imports DevExpress.ExpressApp.Utils
   6:  Imports DevExpress.ExpressApp
   7:  Imports DevExpress.ExpressApp.Model
   8:  Imports DevExpress.Web.ASPxEditors
   9:   
  10:  Imports System.ComponentModel
  11:   
  12:  Imports DevExpress.Xpo
  13:  Imports DevExpress.Data.Filtering
  14:   
  15:  Imports DevExpress.Persistent.Base
  16:  Imports DevExpress.Persistent.BaseImpl
  17:  Imports DevExpress.Persistent.Validation
  18:   
  19:  Imports DevExpress.ExpressApp.Editors
  20:   
  21:  <PropertyEditor(GetType(RadioButton), "CustomComboEditor", False)> _
  22:  Public Class CheckboxEnumPropertyEditor
  23:      Inherits WebPropertyEditor
  24:   
  25:      Private enumDescriptor As EnumDescriptor
  26:      Private controlsHash As New Dictionary(Of ASPxRadioButton, Object)()
  27:   
  28:      Public Sub New(ByVal objectType As Type, ByVal info As IModelMemberViewItem)
  29:          MyBase.New(objectType, info)
  30:          Me.enumDescriptor = New EnumDescriptor(MemberInfo.MemberType)
  31:   
  32:      End Sub
  33:   
  34:      Protected Overrides Function CreateEditModeControlCore() As WebControl
  35:          Dim placeHolder As New Panel()
  36:          controlsHash.Clear()
  37:          For Each enumValue As Object In enumDescriptor.Values
  38:              Dim radioButton As New ASPxRadioButton()            
  39:              radioButton.ID = "radioButton_" + enumValue.ToString()
  40:              controlsHash.Add(radioButton, enumValue)
  41:              radioButton.Text = enumDescriptor.GetCaption(enumValue)
  42:              'radioButton.CheckedChanged += New EventHandler(radioButton_CheckedChanged)
  43:              AddHandler radioButton.CheckedChanged, AddressOf radioButton_CheckedChanged
  44:              radioButton.GroupName = PropertyName
  45:              placeHolder.Controls.Add(radioButton)
  46:   

Sunday, April 1, 2012

XAF : Implement One-to-One Relationships

Let's consider a simple example of a One-to-One relationship, when both classes that participate in the relationship have properties with a reference to the instance of their opposite class. It's necessary to write extra code within the property's setter method for each class that participates in the relationship to ensure the relationship's integrity, i.e. when a new object is assigned to a reference property, the reference to the previous object instance should be cleared and the assigned object should reference the current one.

This technique can be implemented as shown in the following code example.

   1:  ' Represents the Building class which refers to the building's owner. 
   2:  Public Class Building : Inherits XPObject
   3:      Dim _owner As Person = Nothing 
   4:      Public Property Owner() As Person
   5:          Get 
   6:              Return _owner
   7:          End Get 
   8:          Set(ByVal Value As Person)
   9:              If _owner Is Value Then 
  10:                  Return 
  11:              End If 
  12:   
  13:              ' Store a reference to the former owner. 
  14:              Dim prevOwner As Person = _owner
  15:              _owner = Value
  16:   
  17:              If IsLoading Then Return 
  18:   
  19:              ' Remove an owner's reference to this building, if exists. 
  20:              If Not (prevOwner Is Nothing) AndAlso prevOwner.House Is Me Then 
  21:                  prevOwner.House = Nothing 
  22:              End If 
  23:   
  24:              ' Specify that the building is a new owner's house. 
  25:              If Not (_owner Is Nothing) Then 
  26:                  _owner.House = Me 
  27:              End If 
  28:   
  29:              OnChanged("Owner")
  30:   
  31:          End Set 
  32:      End Property 
  33:  End Class 
  34:   

Wednesday, March 28, 2012

Configuring Semantic Web Technology for Oracle 11g

In order to enable semantic web technology for Oracle 11g, follow the following steps
  1. Oracle 11g should be installed on your machine.
     
  2. Download 156998.zip from http://goo.gl/U7yJv 
  3. Extract 156998.zip to some folder [i.e. c:\156998]
     
  4. Go to Windows Command Line
    • Start => Run
    • Type cmd
       
  5. From Command Line, goto to Oracle Home Directory
    • cd $Oracle_Home/product/11.0.1.0/md/admin
       
  6. connect as SYS user
    • Assume that sys password is sys
    • sqlplus sys/sys as sysdba
       
  7. Execute the command that restores Oracle 10 RDF data.
    • @c:\156998\catsem10i.sql;
       
  8. Execute the command that installs 11 RDF, confirm with the snapshot given below to check if procedure has been executed successfully.
    • @c:\156998\catsem11i.sql; 
       
  9. Now, alter the “mdsys” user by the following command
    • ALTER USER mdsys IDENTIFIED BY mdsys;
    • ALTER USER mdsys ACCOUNT UNLOCK;
       
  10. Connect via mdsys user
    • conn mdsys/mdsys
       
  11. Now, apply the patch to enable Semantic web Data support. Execute the following commands in the same sequence shown below
    • @c:\156998\sdordfh.sql;
    • @c:\156998\sdordfxh.sql;
    • @c:\156998\sdordfa.sql;
    • @c:\156998\sdordfb.plb;
    • @c:\156998\sdordfxb.plb;
    • @c:\156998\sdoseminfhb.plb;
    • @c:\156998\sdordfai.plb;
       
  12. connect as SYS user
    • Assume that sys password is sys
    • sqlplus sys/sys as sysdba
       

Saturday, March 17, 2012

XAF : Extend Built-in Property Editor's Functionality

This topic describes how to customize a built-in XAF Property Editor. The DatePropertyEditor will be customized to display date and time in the full format. The Property Editor control's dropdown will display the calendar and the clock in the Windows Vista style. The image below shows the resulting Property Editor:


Since the Property Editor inherits from the DatePropertyEditor class, which is the DXPropertyEditor class descendant, its settings can be accessed via the Repository Item. To apply the customization to the controls created both in the Detail View and List View, override the SetupRepositoryItem method. The PropertyEditor attribute is applied to the implemented Property Editor, to specify that it can be used for the String type properties:

   1:  Imports System
   2:   
   3:  Imports DevExpress.ExpressApp
   4:  Imports DevExpress.ExpressApp.Editors
   5:  Imports DevExpress.ExpressApp.Win.Editors
   6:  Imports DevExpress.ExpressApp.Model
   7:   
   8:  <PropertyEditor(GetType(DateTime), "CustomDateTimeEditor", False)> _
   9:  Public Class CustomDateTimeEditor
  10:      Inherits DatePropertyEditor
  11:      Public Sub New(ByVal objectType As Type, 
                            ByVal info As IModelMemberViewItem)
  12:          MyBase.New(objectType, info)
  13:      End Sub
  14:   
  15:      Protected Overrides Sub SetupRepositoryItem(ByVal item As 
            DevExpress.XtraEditors.Repository.RepositoryItem)
  16:          MyBase.SetupRepositoryItem(item)
  17:          DirectCast(item, RepositoryItemDateTimeEdit).VistaDisplayMode = _
  18:          DevExpress.Utils.DefaultBoolean.[True]
  19:          DirectCast(item, RepositoryItemDateTimeEdit).VistaEditTime = _
  20:          DevExpress.Utils.DefaultBoolean.[True]
  21:          DirectCast(item, RepositoryItemDateTimeEdit).Mask.EditMask = _
  22:          "MM.dd.yyyy hh:mm:ss"
  23:      End Sub
  24:  End Class
  25:   

Thursday, March 15, 2012

.NET Custom DateTime Format Strings

Format
Code
Result
MM/dd/yyyy
Date.Now().ToString(”d”)
1/15/2010
dddd, dd MMMM yyyy
Date.Now().ToString(”D”)
Friday, January 15, 2010
dddd, dd MMMM yyyy hh:mm tt
Date.Now().ToString(”f”)
Friday, January 15, 2010 11:06 AM
dddd, dd MMMM yyyy HH:mm:ss
Date.Now().ToString(”F”)
Friday, January 15, 2010 11:06:46 AM
MM/dd/yyyy h:mm tt
Date.Now().ToString(”g”)
1/15/2010 11:06
MM/dd/yyyy HH:mm:ss
Date.Now().ToString(”G”)
1/15/2010 11:06
MMMM dd
Date.Now().ToString(”m”)
15-Jan
dd MMM yyyy HH’:'mm’:’ss ‘GMT’
Date.Now().ToString(”r”)
Fri, 15 Jan 2010 11:06:46 GMT
yyyy’-'MM’-'dd’T'HH’:'mm’:’ss
Date.Now().ToString(”s”)
2010-01-15T11:06:46
yyyy’-'MM’-'dd HH’:'mm’:’ss’Z’
Date.Now().ToString(”u”)
2010-01-15 11:06:46Z
dddd, MMMM dd yyyy HH:mm:ss
Date.Now().ToString(”U”)
Friday, January 15, 2010 3:06:46 AM
yyyy MMMM
Date.Now().ToString(”y”)
January, 2010

Writing Use Cases in XML

Writing use cases is the most important step for modeling user requirements. Use cases focus on describing scenarios of using the system and are usually written in a textual form. To assist use case writing, various templates have been proposed, mainly differing in their visual representation. XML is a platform independent language for describing data and their structure without referring to their visual presentation. Here, we will propose the writing of use cases in XML. Using XML, we achieve the clear separation of the semantic part of use case descriptions from their visual representations. Hence, the same description can be visualized in many different ways. Furthermore, our encoding allows the integration of tools for Writing and validating use cases. We introduce an appropriate structure for use case descriptions and we model this structure using DTD (Document Type Definition).

Use cases constitute the basic way of modelling user requirements during software development. Nevertheless, there exist no standard rules for writing them. During the last years, many templates have been proposed for writing use cases. Some examples are the fully-dressed, the table, and the two-column format. Essentially, all these formats contain the same information presented in a different way. Also, different levels of detail are needed in different phases of software development. This need presupposes that the information is not degraded during its transformation in more detailed forms. XML (eXtensible Markup Language)is a language for data description, which has the potential of representing information in different forms, as well as, in different levels of detail. Compared to other documents, such as HTML and PDF, an XML document is not bound to an explicit output format. With the description written in XML, it is possible to produce any of the desired formats without rewriting the contents.

Our aim is to define a technique that will assist developers in writing use cases, without bothering about its visual representation, while at the same time respecting the logical structure of a use case. For visualization purposes, we provide several XSLT transformations that can be applied and result different visual formats in different levels of detail.

Use Cases:

Use cases are a technique for documenting functional requirements of a system under development. User requirements are modeled twofold: writing use cases descriptions and constructing a use case diagram. A use case diagram is composed of use cases and represents the global system’s behavior. Each use case corresponds to an exact behavior of the system that satisfies a user goal. Formally, a use case is defined as a sequence of events that illustrates the behavior of a system and its components when a service is invoked this behavior is described in several ways but the most common one is the textual description.

Tuesday, March 13, 2012

Configuring weblogic with postgresql Database

Follow these steps to connect Weblogic with Postgresql database:
  1. Download postgresql setup from here
  2. Download postgresql connection jar  file from here
  3. install postgres database on your PC [during setup, you will enter database password]
  4. create a database using postgres pgadmin interface [ex: database name: tdb]
  5. put jar file some where on your pc [ex: C:\jars\postgresql-9.0-801.jdbc3.jar]
  6. edit file setDomainEnv.cmd under integration directory inside weblogic home directory  [ex: C:\bea\weblogic81\samples\domains\integration]
  7. add jar file path [C:\jars\postgresql-9.0-801.jdbc3.jar] at line 1999.
    [ex: set CLASSPATH=%ARDIR%\ant\ant.jar;%JAVA_HOME%\jre\lib\rt.jar;C:\jars\postgresql-9.0-801.jdbc3.jar]
  8. open weblogic and start weblogic server
  9. click on tools menu, then weblogic server=> data source viewer
  10. click on New Data Source
  11. fill data source form:
    data Source:postgres
    pool : postgresbool
    driver: select [org.postgresql.Driver]
    url: jdbc://postgresql://localhost:5432/tdb
    user: postgres
    password: password that you entered in postgres installation

XAF : Set Default Property For Object Attribute

Here we will set a default value for a property of a business class, In this example we will set the default 'Priority' property in DemoTask to 'Normal' state. To do this, first we want to build DemoTask Class with 'Priority' property:

   1:  Public Class DemoTask
   2:      Inherits Task
   3:      ' ...
   4:      Private fPriority As Priority
   5:      Public Property Priority() As Priority
   6:          Get
   7:              Return fPriority
   8:          End Get
   9:          Set(ByVal value As Priority)
  10:              SetPropertyValue("Priority", fPriority, value)
  11:          End Set
  12:      End Property
  13:      '...
  14:  End Class
  • 'Priority' property added to DemoTask class

Monday, March 12, 2012

Structure for writing Software Requirements Specification (SRS)

Software Requirements Specification (SRS) is a requirements specification for a software system, in other words it is a complete description of the behavior of a system to be developed. It is includes a set of use cases that describes the interactions between system actors (System Users) with the Software system. Also SRS contains list of functional and non-functional software requirements.

This document lists all necessary requirements for application development, so it is written after a meeting or detailed communication between project manager and customer. A general structure of an SRS will be as follows:
  1. Introduction:
    This part provide an overview of the SRS document, and it should contain all information needed by a software engineer to design and implement the software product described by the requirements listed in this document.
    1. Purpose:
      What is the purpose of this
      SRS and the (intended) audience for which it is written.
       
    2. Scope:
      Here we will identify software product by its name, and explain what the software product(s) will, and, if necessary, will not do. Then we can describe the application of the software being specified. As a portion of this, it should be consistent with similar statements in higher-level specifications, and describe all relevant benefits, objectives, and goals as precisely as possible.
       
    3. Definitions and Abbreviations:
      Provide the definitions of all terms, and abbreviations required to properly interpret the
      SRS. This information may be provided by reference to one or more appendixes in the SRS or by reference to other documents.
       
    4. References:
      This subsection should provide a complete list of all documents referenced elsewhere in the
      SRS, or in a separate, specified document. Identify each document by title, report number, and publishing organization. And specify the sources from which the references can be obtained. This information may be provided by reference to an appendix or to another document.