Friday, April 18, 2008

Requirement Workflow Use Case Writing Process

I got this process from teaching PPT, I will support the link below.

1.Name the system scope and boundaries.
2.List the actors (Brainstorm)
3.List user goals for the system (becoming use case)
4.Capture the outmost summary use case to see "Who really cares" - seeking primary actors
5.Reconsider and revise summary use cases.Add, subtract or merge goals (Refining)
6.Select one use case to expand
7.Capture stakeholder interests and preconditions and guarantees (their requirements - there may be additional requirements)
8.Write the main succes scenario
9.List the extension conditions (Brainstorm)
10.Write the extension-handling steps
11.Extract complex flows to sub use case; merge trival sub use cases (Refining again)
12.Iterate and adjust

I think list number 1 to 6 will be helpful for SA28 who are now facing their exam on coming Monday.....

GOOD LUCK JUNIORS!!!!


Static Modelling & Dynamic Modelling in OOAD

Static Modelling : It is used to specify structure of the objects that exist in the problem domain (we will discuss this in next post). These are expressed using classes,objects and use case diagrams.It is Time Independent View.

Dynamic Modelling: It is Time Dependent View.It representing the object interactions during runtime , mostly represent by sequence, activity,collaboration and statechart diagrams.

Still confusing on System Actors and Internal Workers ?


Most of my juniors ask me about System Actor and Internal Worker –
a. Are they same?
b. What are Internal Worker and External Worker?
Usually those questions come up because of not getting the concept on Business workflow and Requirement workflow –

My classification is very simple (for dummies – like me). It is based on what we are focusing on .Let me explain with picture, cause single picture worth thousand of words.

First I pick Actors from case study. At this moment, I don’t care whether it is system or business actor. To pick Actors, there is definition – say – a person who is interacting with something. Something can be either business or system. For example, if we are discussing on Business workflow and there are a lot of people interact with the business. Those people may be (not are) Business Actors. If we are talking our requirements of business and to implement some system, people (not only human) who can interact (use) with our future system will become System Actors.

For instance, in manufacturing business, there are a lot of employees working in industry.
QCs, Engineers, Technicians, HRs, Managers, Accountants, Office Staffs, etc. Those people are working for this business – we call them Internal Workers of this business. So, in contrast, we can have External Workers . These External Workers may be Business Actors but not all External Workers are Business Actors. Same idea work for Internal Workers, not all Internal Workers are System Actors. It depends on who will use the system .




Thursday, April 17, 2008

ANNOUNCEMENT FROM IVLE!!!!!!!!!!!!!!!!

Dear SA students,

Today I was shocked to find out that some of you have requested the internship company to increase your allowance. Please note that for such unprofessional behavior, ISS will take disciplinary action against you.

Regards,

Megan


Reference: ISS_104 Announcement

Friday, April 11, 2008

Binding ArrayList with DataGrid

I will discuss how to create an ArrayList of objects and bind it to a DataGrid control using DataSource property.

Step 1. Creating a Class

First step is to create a class. I call my class Developer, which is listed in Listing 1. It's properties are FirstName, LastName, Age, Skills, and Experience.

public class Developer

{
private string firstName;
private string lastName;
private int age;
private string skills;
private int experience;
public Developer(string firstName, string lastName, int age, string skills, int experience )
{
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.skills = skills;
this.experience = experience;
}
/// First Name
public string FirstName
{
get { return this.firstName ; }
}
/// Last Name
public string LastName
{
get { return this.lastName ; }
}
/// Age
public int Age
{
get { return this.age ; }
}
/// Skill set
public string Skills
{
get { return this.skills ; }
}
/// Number of year experience

public int Experience
{
get { return this.experience ; }
}
}

Listing 1. Developer class

Step 2. Creating an ArrayList of Objects

Now next step is to create an ArrayList object of Developer class. Listing 2 adds 6 items to the ArrayList.

private ArrayList GetList()

{
ArrayList list = new ArrayList();
list.Add(new Developer("Mahesh", "Chand", 30, "C#,ASP.NET,Windows Forms", 10)) ;
list.Add(new Developer("Michael", "Gold", 35, "GDI+, ASP.NET", 15)) ;
list.Add(new Developer("Bhasker", "Das", 26, "VB.NET, Web Applications", 4)) ;
list.Add(new Developer("Ashish", "Singhal", 24, "ADO.NET, GDI+", 4)) ;
list.Add(new Developer("Neel", "Beniwal", 3, "C#,ASP.NET,Windows Forms", 0)) ;
list.Add(new Developer("Melanie", "Talmadge", 25, "Java", 2)) ;
return list;
}

Listing 2. ArrayList of Developer

Step 3. Binding with DataGrid

Now we can bind our ArrayList using DataGrid.DataSource property and DataGrid would understand what to display in its columns. The following code binds the ArrayList to DataGrid.

ArrayList list = GetList();

dataGrid1.DataSource = list;


Step 4. The Result

Now if I run my application, the output in DataGrid looks like Figure 1.


Tuesday, April 8, 2008

**************Exam Question ***************

"Good luck SA28, we know all of you are only interesting exam questions . No one from SA28 celebrate this blog. We are so sad :( Please post comments and post Articles to this blog."


Paper 1: OOAD Exam

Paper 1, section A (Esther's)

1. Given a case make a system use case, elaborate your scope, give explanation why you do it that way, any other notes if you want to, and explain each process,

2. Give a domain model based on your use case and explain each bussiness entity,

3. From your use case make an activity diagram with swim lanes. Point out internal worker if any,

4. Revamped your use case with extend, include, and generalization. Explain why you do it that way.

Paper 1, section B(Yuen Kwan's)

1. Given an explanation of the process of an activity. Do an analysis modeling(?) and draw a colaboration diagram,

2. From the same explanation, draw a sequence diagram that clearly depict the use of three tier system and ado.net,

3. Draw a class diagram, still from the same text.

4. Descript how you can improve your system with include, extend, and inheritance.

Paper 2: C# Exam

Paper 2, Section A(Programming/Venkat)

1. Given a case, write a program using basic programming technique and modular programming,

2.a From the same case, draw an appropriate user interface explaining the controls used,
2.b Still from the same case, find 3 validation that might be needed and write the validation,

3. Write an event handler to insert a new record to the database. Your event handler must include the connection to database, the sql command, actually doing the sql command, and showing a success message

4.a Write a Point class, attribute X, Y; method Move(i, j); method bool IsSame(Object o) to compare if two point is the same.
4.b Write a Line class, a line is made of two Point; method bool IsParalel(Line l) to tell if two line is paralel; make a validation, if two point is the same then don't make the line
4.c Write a driver program to test the Line class.

Paper 2, Section B(SQL/Yuen Kwan)

1.a Point out the primary and foreign key in a given table,
1.b From the given two table (employee and course) write a Select command to select table
1.c another Select command to display table employee and total sum of course fee
1.d one more Select command to select employee with course more than average course taken by employee
1.e Create view of employee with course fee lower then 2000

Paper 3, ASP.NET Exam

Part 1 : Eshta

1. Differences and Describe usage according to the given case study for the following :

i. Client Script and Server Script
ii. Application and State Management
iii. HTML Control and HTML Standard Control in .Net
iv. Grid View and User
v. Users and Roles in ASP.Net Security

2.
a) 5 Controls which support user navigations in the given case study
b) How to change the home page in a way that the admin does not have to update weekly
c) How to configure and set the settings for Shopping Cart Table in the given case study
d) Write Code for UpdateCart Button Event.
e) Security Implementation for given directory and file structures
(some people said that it's sitemap.xml, but some said web.config. It can be achieved in both ways. I don't know the right answer)

4 Screenshots of web sites is given in the exam and all question must apply that scenario.

Part 2 : Megan

1. One Good Thing and Bad Thing of the given case study web site
2. 2 personas and 2 scenario
3. 3 WireFrames (Home, 2nd Level Page, 3rd Level Page)
4. Navigation Question (I don't know what it is...)

For Megan's Part, The NUS Library Case Study is given 2 weeks before the exam.


Paper 4: Software Engineering Exam

Section A :

1. Presentation 22 Marks
2. 6 Interview for each Person (3 People) 18 Marks

Section B :

1. Precedence Diagram + Gannt Chart + Assumption 25 Marks
2. Errorneous Test Scenario 5 Marks
3. Straight Forward Test Scenario 10 Marks

*For Gannt Chart, they give the ready made time line to draw. So, don't worry about the layout of Gannt Chart.

Paper 5 : Java Programming Exam

Java 1 :
10 Marks - looping the array, calculate the time difference and show the total
15 Marks - some theories and practical related 4 short questions

Java 2 :
10 Marks - Connecting the DB Server using JDBC or Hybernate and write the code for Insert Record

Java 3 :
10 Marks - Get the array objects from Session and show in the browser using JSTL
15 Marks - some theories and practical related 5 short questions

Java 4 :
5 Marks - CommandAction Code for List Control
8 Marks - CommandAction Code for Inserting record into the data store
7 Marks - Getting Records from the data store and shown back to the screen

Tuesday, April 1, 2008

Quote of the Day

"A guy know's he's in love when he loses interest in his car for a couple of days."

-Tim Allen

"A man in love is incomplete until he has married. Then he's finished."

-Zsa Zsa Gabor

"I told my doctor I broke my leg in two places. He told me to quit going to those places."

-Henny Youngman

"You know why fish are so thin? They eat fish."

-Jerry Seinfeld

"A bank is a place that will lend you money, if you can prove that you don't need it."

-Bob Hope

"I don't consider myself bald. I'm simply taller than my hair."

-Thom Sharp

"This is a strange country we live in. When it comes to electing a president, we get two choices. But when we have to select a Miss America, we get 50."

-Jay Leno

"I figure you have the same chance of winning lottery whether you play or not."

-Fran Lebowitz

"Give a man a fish and he has food for a day; teach him how to fish and you can get rid of him for the entire weekend."

-Zenna Schaffer

"It's not that I'm afraid to die; I just don't want to be there when it happens."

-Woddy Allen

"I have my standards. They may be low, but I have them."

-Bette Midler

"I've been on a calendar, but I've never been on time."

-Marilyn Monroe

"If God meant us to be naked, he would have made our skin fit better."

-Maureen Murphy

"It's so simple to be wise. Just think of something stupid to say and then don't say it."

-Sam Levenson

"If winning isn't everything why do they keep score?"

-Vince Lombardi