|
Overview
I'm a professional Software Engineer. This means I develop a software system using
the best of my experience, knowledge, and skill to provide users with the best and most
useful software for their needs.
After having worked for several years in the information systems department of a large company in Japan,
I decided to study software engineering to explore the profound computer software world.
In this site, I'd like to introduce my perspective on software development as a software engineer.
I believe that one of the purposes of developing software is to bridge software technology with the human element.
Because both computer technology and the human being are complex systems, a software developer
must realize that we have to understand both to make truly useful software.
That's why I study both Software Engineering and Human-Computer Interaction (HCI).
I believe these desciplines should address the following questions:
- Software Engineering: How do we approach software development?
- Human-Computer Interaction: How do we make software useful for people?
Software Development Policy and Guideline
In my experience, I have observed three important elements of software development:
- User-and-Task-Centered Software Design to increase software quality.
This demands a revised view of development.
- Implementation with a Strong Class Library with strong creativity to realize the design.
This requires both strong Object Oriented Analysis/Design skill and programming skill.
- Appropreate processes, environment, and management methodologies for successful development.
This means that skills are important, but the process and management have an enormous impact on the success of a project.
My policy creating my computer software is as follows:
- Implementing a design myself.
- Focus on creativity in software development.
- Viewing programming as the primary tool for the software developer
to explore the concept of computer software.
My guidelines for creating software that is easy-to-use and accomplishes user's purpose" are as follows:
- Computer software should be a tool to achieve the user's purpose.
- "Easy to say, hard to implement" should be remembered always, therefore
component designers and programmers have a responsibility to make class
libraries which make implementation easy.
- Not only the programmer but also the process and environment are keys to developping a good software program.
- Creativity is essential to analyzing and designing software.
|