eEcho blog

A journey of a thousand miles starts with a single step.

Archive for the ‘Software engineering’ Category

Applicatie Design GWT

Design and implementation steps:
- Drawing with required application, pages on paper
- Studying functional requirements. Make a list of demands and goals (very important because the aim is not exactly project will not succeed)
- Drawing in GIMP’s answer to the question “how should it look?”
- Document “Widget selection” which will provide […]

Ubuntu project development milestones

Debian import freeze Prior to this milestone, new packages are frequently

imported from the Debian GNU/Linux unstable (development) repository.
Feature freeze At this point, developers stop introducing new features and

focus on bug fixes.
User interface freeze Changes to the look, feel, and functionality of the GUI

and […]

Stanford CS list


manage data stanford

Principle
nouns -> classes
verbs -> methods
unique identifier
Design
- Collection of objects (like Song, Album)
- Class Song
name
band
price
unique identifier (int) for joins.
- Class Album
name
list of songs

Software design

Software design is a process of problem-solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution. It includes low-level component and algorithm implementation issues as well as the architectural view.
http://en.wikipedia.org/wiki/Software_design

Lecture 18 | Programming Methodology (Stanford) debugging

Design - Architect
Development (coding) - Engineer
Testing - Vandal
Debugging - Detective
Deployment
Errors in previous step, multiplied by 10, the next step.
Debugging
Bugs
- bad values
- faulty logic
- unwarranted assumptions
Fixing
- look for simple
- be systematic
- assumption about prob.
- critical
- $ Don’t panic
Tools
- println
- IDE debuger
- Unit test

Lecture 1 | Programming Methodology (Stanford)

Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). In the first lecture of the quarter, Professor Sahami provides an overview of the course and begins discuss…

http://www.youtube.com/results?search_type=&search_query=Programming+Methodology+(Stanford)&aq=f

Rapid application development

Rapid application development (RAD) refers to a software development life cycle designed to give much fast development and higher quality results than the traditional life cycle. [1]
[edit] Overview
Rapid application development is a software development methodology, which involves iterative development and the construction of prototypes. It is a merger of various structured techniques, especially the data […]

Optimization: General Principles and Profiling Techniques

“Premature optimization is the root of all evil in programming.”
[…]

Code Conventions for the Java Programming Language

http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
1 - Introduction
1.1 Why Have Code Conventions
Code conventions are important to programmers for a number of reasons:
* 80% of the lifetime cost of a piece of software goes to maintenance.
* Hardly any software is maintained for its whole life by the original author.
* […]

Functional Specification

What Is A Functional Specification?
Functional specifications (functional specs), in the end, are the blueprint for how you want a particular web project or application to look and work. It details what the finished product will do, how a user will interact with it, and what it will look like. By creating a blueprint of […]

Traditional Client/Server

In the past, a traditional, non-Web application was responsible for handling everything
from user input to application logic to data storage.These three entities were
interwoven with each other, making it difficult or impossible to change one of them
without affecting the others. If you wanted to provide such an application to multiple
users, you’d have a problem:What if the […]

Three-Tier Applications

With larger development teams, effective means for organizing a project become vital.
By now, you’ve seen methods of handling the separation between layout and code,
organizing directory structures, and using a version-control system for managing the
source code. As soon as you talk about distributed development, phase separation, and
business processes, marketing people will jump on you and yell […]

Concurrent Versions System

When multiple developers work on one project, the potential for version conflicts
arises; this is even more likely when the developers are working not in the same cubicle
but distributed across national boundaries.What happens if two developers edit one file
at the same time? The changes of one developer will inevitably be overwritten.What
happens if a script authored by […]

Typical development life

The new project is started by creating the directory structure and setting up
CVS (more on CVS shortly).
2. Developers check out a copy of the development branch.
3. Developers commit their changes to the development branch.
4. After a significant […]

Team Collaboration

The Internet introduced the capacity to communicate and work together over long
distances, regardless of the geographical location of individual team members.This
opens great new possibilities for distributed teams. Large companies are not limited by
geographic boundaries today. Indeed, many corporations develop software applications
by blending experts’ skills from many different geographic regions.
Project management is a […]

Project Layout

The time arrives when even 12-hour days, weekend toil, and gallons of coffee and Jolt
cola won’t be enough for a single developer to complete a project on time. For the
average programmer, this is a significant break in life: No more lonely hacking on his
own code, using that cool style only he can read, being his […]

Usability: Just Do It

Nielsen says, “Two of the fundamental slogans of discount usability engineering are
that ‘any data is data’ and ‘anything is better than nothing’ when it comes to usability.”
We encourage you to try discount usability engineering—and to apply it in your
development as often and regularly as possible. It doesn’t cost much and will signifi-
cantly enhance the user […]

Discount Usability Engineering

In real life, people rarely use the recommended usability-engineering methods on soft-
ware development projects. One important reason for this failure is the cost of using
traditional usability-engineering techniques. In the highly respected magazine
Communications of the ACM, authors Mantei and Teorey5 estimated in 1988 that the
“costs required to add human factors elements to the development of software” […]

Usability in Web Applications

Web applications have different characteristics than desktop applications.
With HTML, you can’t control layout in a 100% reliable way, and you have to
accept compromises in the display.Your site may be viewed on a broad variety of
display devices, ranging from Palm Pilots to Web TV to a standard browser on an
800 × 600 screen.
[…]