Thursday, August 26, 2010
RIA –Rich Internet Applications
•Web 2.0
–Internet as a platform
–Hosted services, social networking, wikis, RSS, RIA, …
•Cloud computing
–Apps run somewhere in the "cloud" (intranet or Internet)
•RIA (rich internet apps)
–Web apps which look and perform like desktop apps
•JavaScript
–Not as lame as it once was; optimization in new browsers
•Offline, desktop integration
–Enabling Web apps to run offline
•Mashup
–Web app that combines data from multiple sources into a single tool
•HTML 5.0
–Not coming any time soon
Rich internet applications (RIA)
•Two primary technologies
–JavaScript(AJAX)
•Built-in browser support
– Google AJAX APIs
–jQuery, Prototype, script.aculo.us, MooTools, Dojo,…
– Yahoo! User Interface Library(YUI)
–ASP.NET AJAX
–Virtual machines(plug-ins)
•Require installation (plug-in/runtime)
– Gears
–Java/ JavaFX
– Flash/ Flex
– Curl
– BrowserPlus
– Silverlight
RIA technologies from Google,sun,adobe,yahoo,microsoft
Google RIA
-Google Web Toolkit(GWT)
-Gears(google Gears)
Sun RIA
-JavaFx
Adobe RIA
-Flex
-AIR(Adobe Integrated runtime)
Mozilla RIA
-Prism
Yahoo RIA
-broswerPlus
Microsoft RIA
-Silverlight
Wednesday, August 25, 2010
What is agile scrum (sprint) process
In Scrum,project are divided in small features to be developed and tested in specific time-frames called as Sprint(small cycles)
Scrum is an iterative, incremental framework for project management and agile software development process
--------------------------------------------------------------------------------------------------------
The SCRUM Process –software development process
The scrum process has 3 main phases.Planning
In this phase, the project is planned and high-level design decisions are made.
The sprint cycle is repeated until the product's development is complete. The product is complete when the variables of time, quality, competition, and cost are at a balance.
- Develop the product further - implement, test, and document.
- Wrap up the work - get it ready to be evaluated and integrated.
- Review the work done in this sprint.
- Adjust for any changes in requirements or plans.
Closure
In this phase, the product's development is brought to a close, and the product is released.
start() method vs run() method in Java
start method
public void start() - this method is responsible for causing the thread (it's called upon) to begin execution. The name may seem to be a misnomer here as this method only causes and not actually starts the execution. It just schedules the thread and when the CPU Scheduler picks this thread for excution then the JVM calls the run() method to actually start the execution of the thread.
This method will obviously result into two concurrent threads - one, from which this method is called and two, the new thread which executes the run() method of the new Thread instance.
A thread will throw IllegalStateException in case you try to call the start() method on an already started thread instance. That means, a thread can not be started more than once. As per the Java specifications a thread may not be restarted after completing its execution. You'll be required to create and start the execution of a new thread in that case.
run method
public void run() - this is the only method of the Runnable interface and the classes which intend to execute their code in a separate thread of execution first implement the Runnable interface and subsequently define this method and put all the code expected to be executed in the separate thread inside the scope of this run method.
The other way, such classes can follow for the same is by extending the Thread class and in that case also they should oevrride the run method of the Thread class and put all the code supposed to be executed in the new thread inside the scope of the overriden run method.
Difference between start() and run() methods
start() methods only schedules the thread for execution and not actually begins the execution of the thread. The execution of the thread is started when the JVM calls the run() method of the thread once the CPU Scheduler picks this scheduled thread for execution.
Systems Development Life Cycle
Systems Development Life Cycle ¶
SDLC -Systems Development Life Cycle
SDLC in systems engineering, information systems and software engineering
SDLC: Analysis -> Design -> Implementation -> Testing -> Maintenance
SDLC -phases
1.requriement gathering and analysis
2.design
3.build or coding
4.Testing
5.operation and Maintenance
SDLC- methodologies
concept underpins many kinds of software development methodologies.
1.Waterfall Approach
2. Prototyping Approach
3. Incremental Approach
4. Spiral Approach
5. Rapid Application Development (RAD) Approach
6.Other software development practices and techniques
> Object oriented
> Top-down programming
> Unified Process (UP)
> Agile Software Development
> Integrated Software Development(iterative, waterfall, spiral, agile)
methodologies for waterfall ,prototyping,spiral
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test.
Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs.
Software testing can also be stated as the process of validating and verifying that a software program/application/product.
Different software development models will focus the test effort at different points in the development process. Newer development models like
> Agile development
> Employ test driven development
Testing methods
The box approach
1.White box testing
2.Black box testing
3.Grey box testing
Testing levels
1.Function level
2.Non -Function level
Functional testing
Functional testing is done using the functional specifications provided by the client or by using the design specifications like use cases provided by the design team.
· Unit Testing
· Smoke testing / Sanity testing
· Integration Testing (Top Down,Bottom up Testing)
· Interface & Usability Testing
· System Testing
· Regression Testing
· Pre User Acceptance Testing(Alpha & Beta)
· User Acceptance Testing
· White Box & Black Box Testing
· Globalization & Localization Testing
Non-Functional Testing
Non-Functioning testing is done based on the requirements and test scenarios defined by the client.
· Load and Performance Testing
· Ergonomics Testing
· Stress & Volume Testing
· Compatibility & Migration Testing
· Data Conversion Testing
· Security / Penetration Testing
· Operational Readiness Testing
· Installation Testing
· Security Testing (Application Security, Network Security,System Security)
The testing process
> Traditional CMMI or waterfall development model
> Agile or Extreme development model
Automated testing
> Testing tools (Ant, Maven)
Measurement in software testing
Usually, quality is constrained to such topics as correctness, completeness, security,but can also include more technical requirements as described under the ISO standard ISO/IEC 9126, such as
>capability
>reliability
>efficiency
>portability
>maintainability
>compatibility
>usability
Wednesday, August 18, 2010
java return String array[] to String
public void m1(){
String name=m2()[1];
System.out.println("my name is:"+name);
}
public static String[] m2(){
String[] val={"karthik","thiyagu","gogul"};
return val;
}
public static void main(String[] args) {
new new1().m1();
}
output:
my name is:thiyagu
JSON- JSONObject and JSONArray example
import net.sf.json.JSONArray;
public class FirstJSON {
public static void main(String[] args) {
System.out.println("----------JSON Object-------------------");
JSONObject obj=new JSONObject();
obj.put("name", "karthik");
obj.put("age", "24");
System.out.println(obj);
System.out.println("----------JSON Array-------------------");
JSONArray arr=new JSONArray();
arr.add("name");
arr.add("karthik");
arr.add("age");
arr.add(24);
System.out.println(arr);
}
}
output:
----------JSON Object-------------------
{"name":"karthik","age":"24"}
----------JSON Array-------------------
["name","karthik","age",24]
Tuesday, August 17, 2010
JSON-JavaScript Object Notation
It is easy for humans to read and write. It is easy for machines to parse and generate.
It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999.
JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.
eg:
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
The same text expressed as XML:
< id="file" value="File">
<>
< value="New" onclick="CreateNewDoc()">
< value="Open" onclick="OpenDoc()">
< value="Close" onclick="CloseDoc()">
< /popup>
< /menu>