Discussion:
Software Engineer vs. System Analyst
(too old to reply)
Motaz K. Saad
2007-02-25 17:29:12 UTC
Permalink
Dear All,

What is the difference between Software Engineer and System Analyst?!
What is the difference between Software engineering and System
Analysis and design??!

Best regards,
Phlip
2007-02-25 18:46:26 UTC
Permalink
Post by Motaz K. Saad
What is the difference between Software Engineer and System Analyst?!
What is the difference between Software engineering and System
Analysis and design??!
Who is asking? To what use will you put the answer?

In some shops, "systems analyst" means someone who designs code on paper,
but doesn't implement it. That's a bad practice, because the people who _do_
have to implement it invariably must work harder for less money. So the term
"systems analyst" is generally out of favor.

A "software engineer" is just like any other engineer: Someone who applies
the results of scientific research to efficiently solve business problems.
In our case, the research is "computer science".

So "software engineering" naturally includes designing the software; drawing
diagrams of its objects, and tables of its inputs and outputs.
--
Phlip
http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
Motaz K. Saad
2007-02-28 06:02:53 UTC
Permalink
Post by Phlip
Post by Motaz K. Saad
What is the difference between Software Engineer and System Analyst?!
What is the difference between Software engineering and System
Analysis and design??!
Who is asking? To what use will you put the answer?
In some shops, "systems analyst" means someone who designs code on paper,
but doesn't implement it. That's a bad practice, because the people who _do_
have to implement it invariably must work harder for less money. So the term
"systems analyst" is generally out of favor.
Do you mean in this case we need System Analyst and Programmer to
produce a software?
Post by Phlip
A "software engineer" is just like any other engineer: Someone who applies
the results of scientific research to efficiently solve business problems.
In our case, the research is "computer science".
So "software engineering" naturally includes designing the software; drawing
diagrams of its objects, and tables of its inputs and outputs.
Can System Analyst and Programmer be replaced by Software Engineer?
Post by Phlip
--
Phlip
http://www.greencheese.us/ZeekLand<-- NOT a blog!!!
Eoin Woods
2007-03-02 08:18:19 UTC
Permalink
Post by Motaz K. Saad
Do you mean in this case we need System Analyst and Programmer to
produce a software?
Can System Analyst and Programmer be replaced by Software Engineer?
You need both roles (problem analysis, solution implementation)
fulfilled, possibly by the same person.

In fact, both roles are software engineering, they're just different
specialisations.

Eoin.
Eoin Woods
2007-02-26 08:55:30 UTC
Permalink
Post by Motaz K. Saad
Dear All,
What is the difference between Software Engineer and System Analyst?!
What is the difference between Software engineering and System
Analysis and design??!
There aren't standard definitions of these terms.

In general practice a systems analyst is an expert on requirements
engineering and problem analysis. They understand the problem domain
very deeply and the solution domain (i.e. software technology) less
deeply. Their primary responsibility is to understand the problem to
be solved and capture this as well written, testable requirements.

The software engineers are those who are experts on software
technology and have a reasonable knowledge of the problem domain, but
probably understand it less deeply than the analyst. The software
engineers' primary responsibility is to create a system that works and
meets the requirements.

In practice however, totally non-technical analysts are rarely
effective because they don't understand what is and isn't possible (or
how difficult something is). Similarly if the software engineers
don't have enough domain knowledge and can't talk directly to people
in the problem domain, things are unlikely to go well. In particular,
the software architects (aka chief engineers aka technical leads) need
to be able to bridge this gap from solution to problem domain very
effectively.

It would be fair to say that in many places these two roles have been
merged together. Agile development particularly stresses this.

Eoin.
Motaz K. Saad
2007-02-28 06:09:34 UTC
Permalink
Post by Eoin Woods
Post by Motaz K. Saad
What is the difference between Software Engineer and System Analyst?!
What is the difference between Software engineering and System
Analysis and design??!
There aren't standard definitions of these terms.
In general practice a systems analyst is an expert on requirements
engineering and problem analysis. They understand the problem domain
very deeply and the solution domain (i.e. software technology) less
deeply. Their primary responsibility is to understand the problem to
be solved and capture this as well written, testable requirements.
notice that requirement engineering is mentioned in software
engineering textbook, and never mentioned in modern system analysis
and design textbook.
Post by Eoin Woods
The software engineers are those who are experts on software
technology and have a reasonable knowledge of the problem domain, but
probably understand it less deeply than the analyst. The software
engineers' primary responsibility is to create a system that works and
meets the requirements.
this means we need system analyst and software engineer to produce a
software!?
Post by Eoin Woods
In practice however, totally non-technical analysts are rarely
effective because they don't understand what is and isn't possible (or
how difficult something is). Similarly if the software engineers
don't have enough domain knowledge and can't talk directly to people
in the problem domain, things are unlikely to go well. In particular,
the software architects (aka chief engineers aka technical leads) need
to be able to bridge this gap from solution to problem domain very
effectively.
It would be fair to say that in many places these two roles have been
merged together. Agile development particularly stresses this.
Eoin.
a***@sbcglobal.net
2007-03-15 21:37:16 UTC
Permalink
Post by Motaz K. Saad
this means we need system analyst and software engineer to produce a
software!?
The term Systems Analyst is an older term than Software Engineer.
It is not exclusive to the world of software. In many respects, both
systems analyst and software engineer are subsets or specializations
of a larger discipline called industrial engineering.

Over time, every engineering field tends to develop its sub-specialties.
Civil engineering includes structural engineering, chemical engineering
includes metallurgical engineering, and electrical engineering includes
solid-state physics engineering. These are only a few of the specialties,
and more are emerging all the time.

Software engineering specializes in the application of industrial engineering
principles to the design, development, and management of software. Not
all of the practices of industrial engineeering are pertinent to software
engineering, but the principles certainly are.

Like the chemical engineer who needs to understand chemistry, but is
not a chemist, the software engineer needs to be thoroughly educated
and proficient in understanding every aspect of software, but is not
a practicing programmer.

Not every software project requires engineering. Most such projects
can benefit from the skills of a highly-trained and experienced technologist
such as a programmer. However, while a software engineer may have
the abilities of a programmer, even the best programmers are rarely
prepared with the education and skills of an engineer.

For example, consider a software design the involves multiple concurrent,
communicating processes. Getting this design right is an engineering
problem, not a programming problem. There is a mathematics of
scheduling involved, there are a lot of issues related to efficiency of
execution, concerns about context switching, and many more that
require a good bit of mathematical reasoning -- the kind of thing
experienced engineers do. For this kind of problem, the software
engineer is needed.

In another case, a software system that consists of a lot of modules
needs to be designed according to a set of principles common to
engineering: modularity, efficiency, modifiability, extensibility,
measurability, dependabilty, and many more. For small software
systems, a conscientious team of programmers can be effective. As
the software system scales up, needs to be interoperable with other
software systems (e.g., COTS), there is a greater need for an
engineering approach.

Modern software engineers require a great deal more education
than is typical of most programmers. It is no accident that a
software engineering degree begins at the Master's level. The
effective software engineer may have a degree in computer science,
but may also have a degree in mathematics or some branch of
engineering.

The systems analyst usually has a bachelor's degree in some subject
such as business, information technology, or computer science, but
rarely has any training in any aspect of engineering. Even the systems
analyst with a Master's degree will usually have an M.S. in a subject
such as business or economics.

Software engineering is real engineering. This is not intended to demean
of belittle programming. I am a lifelong programmer, and I know how
hard that job can be much of the time. However, I have also discovered
that, as stakeholders demand more and more from software products, it
is not enough to hand every problem off to skilled technologists. It is
increasingly necessary to take an engineering approach to the design
of software systems. That is the domain of the software engineer.

Richard Riehle
H. S. Lahman
2007-02-26 16:05:40 UTC
Permalink
Responding to Saad...
Post by Motaz K. Saad
What is the difference between Software Engineer and System Analyst?!
What is the difference between Software engineering and System
Analysis and design??!
I suspect you really mean Systems Engineer rather than Systems Analyst
since there is no software design in Systems Analysis.

As Woods explained, a Systems Analyst is concerned with requirements
specification. The term is pretty much obsolete today because it was
coined back in the days of Structured Development. SD was very much
focused on the hardware computational models. The problem was that
customer domains generally are not as rigorously defined as the
computing space so requirements tended to get garbled by the time they
were implemented by the developers.

So the position of Systems Analyst was developed to essentially convert
the customer's natural language specification into a complete, precise,
and unambiguous requirements specification. The developers would then
presumably have no difficulty converting that specification to correct
software. Thus the Systems Analyst was supposed to be a domain expert
who also understood some rigorous notation for specifying the requirements.

Alas, in practice that was a problem because the only notations around
that were sufficiently rigorous and were readily mappable to the
computing space were those already used by the software designers. As a
result the Systems Analyst typically overspecified the requirements by
also defining the software design. Since knowledge of the computing
space was a <very> secondary requirement for the Systems Analyst, this
often led to Big Problems.

The term I suspect you meant was Systems Engineer. A Systems Engineer is
responsible for defining the large scale structure of the software
(i.e., application partitioning) and the appropriate technical
infrastructures (e.g., OS, J2EE, XML, TCP/IP, etc.) to be employed in
the development. The most important job of the Systems Engineer is to
allocate the problem requirements to specific subsystems and define the
interfaces between subsystems. Then the subsystems can be developed in a
quasi-independent fashion by different developer teams.

Unfortunately Software Engineer has been so broadly used that it has
become synonymous with "software developer". Historically, though, the
term referred to someone who was concerned with the /process/ of
developing software rather than the software itself. IOW, the people who
design and understand how to apply processes and process frameworks like
RUP, CMM, and XP are software engineers.


*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
***@pathfindermda.com
Pathfinder Solutions
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
"Model-Based Translation: The Next Step in Agile Development". Email
***@pathfindermda.com for your copy.
Pathfinder is hiring:
http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH
Motaz K. Saad
2007-02-28 05:57:44 UTC
Permalink
Post by H. S. Lahman
Responding to Saad...
Post by Motaz K. Saad
What is the difference between Software Engineer and System Analyst?!
What is the difference between Software engineering and System
Analysis and design??!
I suspect you really mean Systems Engineer rather than Systems Analyst
since there is no software design in Systems Analysis.
As Woods explained, a Systems Analyst is concerned with requirements
specification. The term is pretty much obsolete today because it was
coined back in the days of Structured Development. SD was very much
focused on the hardware computational models. The problem was that
customer domains generally are not as rigorously defined as the
computing space so requirements tended to get garbled by the time they
were implemented by the developers.
So the position of Systems Analyst was developed to essentially convert
the customer's natural language specification into a complete, precise,
and unambiguous requirements specification. The developers would then
presumably have no difficulty converting that specification to correct
software. Thus the Systems Analyst was supposed to be a domain expert
who also understood some rigorous notation for specifying the requirements.
Alas, in practice that was a problem because the only notations around
that were sufficiently rigorous and were readily mappable to the
computing space were those already used by the software designers. As a
result the Systems Analyst typically overspecified the requirements by
also defining the software design. Since knowledge of the computing
space was a <very> secondary requirement for the Systems Analyst, this
often led to Big Problems.
The term I suspect you meant was Systems Engineer. A Systems Engineer is
responsible for defining the large scale structure of the software
(i.e., application partitioning) and the appropriate technical
infrastructures (e.g., OS, J2EE, XML, TCP/IP, etc.) to be employed in
the development. The most important job of the Systems Engineer is to
allocate the problem requirements to specific subsystems and define the
interfaces between subsystems. Then the subsystems can be developed in a
quasi-independent fashion by different developer teams.
Unfortunately Software Engineer has been so broadly used that it has
become synonymous with "software developer". Historically, though, the
term referred to someone who was concerned with the /process/ of
developing software rather than the software itself. IOW, the people who
design and understand how to apply processes and process frameworks like
RUP, CMM, and XP are software engineers.
*************
There is nothing wrong with me that could
not be cured by a capful of Drano.
H. S. Lahman
Pathfinder Solutionshttp://www.pathfindermda.com
blog:http://pathfinderpeople.blogs.com/hslahman
"Model-Based Translation: The Next Step in Agile Development". Email
Pathfinder is hiring:http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH
First of all, thanks for everyone replied this discussion. I can say
that you all share the same point about software engineering and
system analysis and design.
Let us take a look for the table of content (TOC) of these subjects:

1. System Analysis and Design Textbook:

Title: Modern Systems Analysis and Design, 4/E
Authors:
Jeffrey A. Hoffer, University of Dayton
Joey F. George, Florida State University
Joseph S. Valacich, Washington State University
Publisher: Prentice Hall
Copyright: 2005
ISBN-10: 0131454617
ISBN-13: 9780131454613
Table of Contents

I. FOUNDATIONS FOR SYSTEMS DEVELOPMENT.
1. The Systems Development Environment.
2. The Origins of Software.
3. Managing the Information Systems Project.

II. PLANNING.
4. Identifying and Selecting Systems Development Projects.
5. Initiating and Planning Development Projects.

III. ANALYSIS.
6. Determining System Requirements.
7. Structuring System Process Requirements.
8. Structuring System Logic Requirements.
9. Structuring System Data Requirements.

IV. DESIGN.
10. Designing Databases.
11. Designing Forms and Reports.
12. Designing Interfaces and Dialogues.
13. Finalizing Design Specifications.
14. Designing Distributed and Internet Systems.
V. IMPLEMENTATION AND MAINTENANCE.
15. Implementing Systems.
16. Maintaining Information Systems.

Appendix 1. Succeeding as a Systems Analyst.
Appendix 2. Automated Tools for Systems Development.
Appendix 3. Object-Oriented Analysis and Design.
__________________________________________

2. Software engineering Textbook:
Title: Software Engineering, 8/E
Author: Ian Sommerville
Publisher: Addison-Wesley
Copyright: 2006
ISBN-10: 0321313798
ISBN-13: 9780321313799
Table of Contents

INTRODUCTION
Ch 1: Introduction
Ch 2: Socio-technical Systems
Ch 3: Dependability
Ch 4: Software Processes
Ch 5: Project Management

REQUIREMENTS ENGINEERING
Ch 6: Software Requirements
Ch 7: RE Processes
Ch 8: Systems Models
Ch 9: Critical Systems Specification
Ch 10: Formal Specification

DESIGN
Ch 11: Architectural Design
Ch 12: Distributed Systems Architecture
Ch 13: Application Architectures
Ch 14: Object-oriented Design
Ch 15: Real-time Systems
Ch 16: User Interface Design

SOFTWARE DEVELOPMENT
Ch 17: Iterative Software Development
Ch 18: Software Reuse
Ch 19: CBSE
Ch 20: Critical Systems Development
Ch 21: Software Evolution

VERIFICATION AND VALIDATION
Ch 22: Verification and Validation
Ch 23: Software Testing
Ch 24: Critical Systems Validation

MANAGEMENT
Ch 25: Managing People
Ch 26: Software Cost Estimation
Ch 27: Quality Management
Ch 28: Process Improvement
Ch 29: Configuration Management

EMERGING TECHNOLOGIES
Ch 30: Security Engineering
Ch 31: Service-oriented Software Engineering
Ch 32: Aspect-oriented Software Development
_________________________________________

Compare :
1. ANALYSIS in System Analysis and Design Textbook and REQUIREMENTS
ENGINEERING in Software engineering Textbook.
2. DESIGN in System Analysis and Design Textbook and DESIGN in
Software engineering Textbook.

I think System System Analysis and Design Textbook is concerned about
project planning and management (people, resources management, and
feasibility study) it is also concerned about the information system.
in analysis phase is concerned about SYSTEM requirement.
on the other hand, Software engineering Textbook is concerned about
SOFTWARE Requirement & Requirement Engineering (RE) Process, System
Models (UML), and formal specification.

In Design phase, System System Analysis and Design Textbook talks
about database design, forms and reports Design (GUI). on the other
hand, Software engineering Textbook talks about Architectural Design,
Application Architectures, Object-oriented Design, Real-time Systems,
User Interface Design


I did not heard about System Analyst jobs, but I heard about Software
Engineer jobs [ http://www.google.com/jobs/ , http://sourceforge.net/jobs/
]


What do you think?
H. S. Lahman
2007-02-28 21:08:30 UTC
Permalink
Responding to Saad...
Post by Motaz K. Saad
Title: Modern Systems Analysis and Design, 4/E
Jeffrey A. Hoffer, University of Dayton
Joey F. George, Florida State University
Joseph S. Valacich, Washington State University
Publisher: Prentice Hall
Copyright: 2005
ISBN-10: 0131454617
ISBN-13: 9780131454613
Table of Contents
I. FOUNDATIONS FOR SYSTEMS DEVELOPMENT.
1. The Systems Development Environment.
2. The Origins of Software.
3. Managing the Information Systems Project.
II. PLANNING.
4. Identifying and Selecting Systems Development Projects.
5. Initiating and Planning Development Projects.
III. ANALYSIS.
6. Determining System Requirements.
7. Structuring System Process Requirements.
8. Structuring System Logic Requirements.
9. Structuring System Data Requirements.
IV. DESIGN.
10. Designing Databases.
11. Designing Forms and Reports.
12. Designing Interfaces and Dialogues.
13. Finalizing Design Specifications.
14. Designing Distributed and Internet Systems.
V. IMPLEMENTATION AND MAINTENANCE.
15. Implementing Systems.
16. Maintaining Information Systems.
Appendix 1. Succeeding as a Systems Analyst.
Appendix 2. Automated Tools for Systems Development.
Appendix 3. Object-Oriented Analysis and Design.
__________________________________________
Title: Software Engineering, 8/E
Author: Ian Sommerville
Publisher: Addison-Wesley
Copyright: 2006
ISBN-10: 0321313798
ISBN-13: 9780321313799
Table of Contents
INTRODUCTION
Ch 1: Introduction
Ch 2: Socio-technical Systems
Ch 3: Dependability
Ch 4: Software Processes
Ch 5: Project Management
REQUIREMENTS ENGINEERING
Ch 6: Software Requirements
Ch 7: RE Processes
Ch 8: Systems Models
Ch 9: Critical Systems Specification
Ch 10: Formal Specification
DESIGN
Ch 11: Architectural Design
Ch 12: Distributed Systems Architecture
Ch 13: Application Architectures
Ch 14: Object-oriented Design
Ch 15: Real-time Systems
Ch 16: User Interface Design
SOFTWARE DEVELOPMENT
Ch 17: Iterative Software Development
Ch 18: Software Reuse
Ch 19: CBSE
Ch 20: Critical Systems Development
Ch 21: Software Evolution
VERIFICATION AND VALIDATION
Ch 22: Verification and Validation
Ch 23: Software Testing
Ch 24: Critical Systems Validation
MANAGEMENT
Ch 25: Managing People
Ch 26: Software Cost Estimation
Ch 27: Quality Management
Ch 28: Process Improvement
Ch 29: Configuration Management
EMERGING TECHNOLOGIES
Ch 30: Security Engineering
Ch 31: Service-oriented Software Engineering
Ch 32: Aspect-oriented Software Development
_________________________________________
1. ANALYSIS in System Analysis and Design Textbook and REQUIREMENTS
ENGINEERING in Software engineering Textbook.
2. DESIGN in System Analysis and Design Textbook and DESIGN in
Software engineering Textbook.
The Hoffer book is much more focused on requirements. Even the chapters
on "design" are really about things like user interface design and
database schemas, which are specifications outside of a software
application. For example, a GUI design is basically a requirements
specification for the application UI. Similarly, forms and reports are
essentially requirements specifications for the application's inputs and
outputs. Modern databases, particularly RDBs, are designed to be
independent of specific applications. So it would be a Systems Analyst's
job to define database schemas to be shared by multiple applications.
IOW, I think Hoffer et al have a rather restricted definition of
"design". (But I'll bet they are quite explicit about that somewhere
early in the book.)

Note that the Hoffer book doesn't seem to have much to say about things
like system partitioning and specifications of technologies. Those would
be the province of Systems Engineering. Instead the authors stick pretty
much to requirements specification, which is the classic Systems
Analysis realm.

In contrast, the Somerville book is much broader in scope and covers the
full breadth of software development. The chapters on Design are about
classic application design.
Post by Motaz K. Saad
I think System System Analysis and Design Textbook is concerned about
project planning and management (people, resources management, and
feasibility study) it is also concerned about the information system.
in analysis phase is concerned about SYSTEM requirement.
on the other hand, Software engineering Textbook is concerned about
SOFTWARE Requirement & Requirement Engineering (RE) Process, System
Models (UML), and formal specification.
Actually, I think Sommerville's book is probably more focused on project
management. Note that he has entire sections dedicated to Development
and Validation, which are clearly closely linked to project management.
(Though it is tough to tell just from a TOC.)


*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
***@pathfindermda.com
Pathfinder Solutions
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
"Model-Based Translation: The Next Step in Agile Development". Email
***@pathfindermda.com for your copy.
Pathfinder is hiring:
http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH
Motaz K. Saad
2007-02-28 06:16:31 UTC
Permalink
Post by H. S. Lahman
Responding to Saad...
Post by Motaz K. Saad
What is the difference between Software Engineer and System Analyst?!
What is the difference between Software engineering and System
Analysis and design??!
I suspect you really mean Systems Engineer rather than Systems Analyst
since there is no software design in Systems Analysis.
but modern system analysis and design text book talked about design.
Post by H. S. Lahman
As Woods explained, a Systems Analyst is concerned with requirements
specification. The term is pretty much obsolete today because it was
coined back in the days of Structured Development. SD was very much
focused on the hardware computational models. The problem was that
customer domains generally are not as rigorously defined as the
computing space so requirements tended to get garbled by the time they
were implemented by the developers.
So the position of Systems Analyst was developed to essentially convert
the customer's natural language specification into a complete, precise,
and unambiguous requirements specification. The developers would then
presumably have no difficulty converting that specification to correct
software. Thus the Systems Analyst was supposed to be a domain expert
who also understood some rigorous notation for specifying the requirements.
Alas, in practice that was a problem because the only notations around
that were sufficiently rigorous and were readily mappable to the
computing space were those already used by the software designers. As a
result the Systems Analyst typically overspecified the requirements by
also defining the software design. Since knowledge of the computing
space was a <very> secondary requirement for the Systems Analyst, this
often led to Big Problems.
The term I suspect you meant was Systems Engineer. A Systems Engineer is
responsible for defining the large scale structure of the software
(i.e., application partitioning) and the appropriate technical
infrastructures (e.g., OS, J2EE, XML, TCP/IP, etc.) to be employed in
the development. The most important job of the Systems Engineer is to
allocate the problem requirements to specific subsystems and define the
interfaces between subsystems. Then the subsystems can be developed in a
quasi-independent fashion by different developer teams.
Unfortunately Software Engineer has been so broadly used that it has
become synonymous with "software developer". Historically, though, the
term referred to someone who was concerned with the /process/ of
developing software rather than the software itself. IOW, the people who
design and understand how to apply processes and process frameworks like
RUP, CMM, and XP are software engineers.
*************
There is nothing wrong with me that could
not be cured by a capful of Drano.
H. S. Lahman
Pathfinder Solutionshttp://www.pathfindermda.com
blog:http://pathfinderpeople.blogs.com/hslahman
"Model-Based Translation: The Next Step in Agile Development". Email
Pathfinder is hiring:http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH
Alexei Polkhanov
2007-03-20 18:21:14 UTC
Permalink
Post by Motaz K. Saad
Dear All,
What is the difference between Software Engineer and System Analyst?!
What is the difference between Software engineering and System
Analysis and design??!
Best regards,
Here is legal definition from US DOL (http://www.oalj.dol.gov/PUBLIC/
DOT/REFERENCES/DOT01B.HTM).
Systems Analyst is a Software Engineer with at least Bachelor Eng. and
5 years of related experience in industry, at least that is minimal
requirements according to TN1 visa rules. This kind of visa usually
issued to "very skilled workers" from US who want to work in Canada
and opposite. Note that any kind of coding or programming is not part
of System Analyst's job description.

---- Cut ---

030.167-014 SYSTEMS ANALYST (profess. & kin.)

Analyzes user requirements, procedures, and problems to
automate processing or to improve existing computer system: Confers
with personnel of organizational units involved to analyze current
operational procedures, identify problems, and learn specific input
and output requirements, such as forms of data input, how data is to
be summarized, and formats for reports. Writes detailed description of
user needs, program functions, and steps required to develop or modify
computer program. Reviews computer system capabilities, workflow, and
scheduling limitations to determine if requested program or program
change is possible within existing system. Studies existing
information processing systems to evaluate effectiveness and develops
new systems to improve production or workflow as required. Prepares
workflow charts and diagrams to specify in detail operations to be
performed by equipment and computer programs and operations to be
performed by personnel in system. Conducts studies pertaining to
development of new information systems to meet current and projected
needs. Plans and prepares technical reports, memoranda, and
instructional manuals as documentation of program development.
Upgrades system and corrects errors to maintain system after
implementation. May assist COMPUTER PROGRAMMER (profess. & kin.)
030.162-010 in resolution of work problems related to flow charts,
project specifications, or programming. May prepare time and cost
estimates for completing projects. May direct and coordinate work of
others to develop, test, install, and modify programs.

...

030.062-010 SOFTWARE ENGINEER (profess. & kin.)

Researches, designs, and develops computer software systems,
in conjunction with hardware product development, for medical,
industrial, military, communications, aerospace, and scientific
applications, applying principles and techniques of computer science,
engineering, and mathematical analysis: Analyzes software requirements
to determine feasibility of design within time and cost constraints.
Consults with hardware engineers and other engineering staff to
evaluate interface between hardware and software, and operational and
performance requirements of overall system. Formulates and designs
software system, using scientific analysis and $T3mathematical models
$T1 to predict and measure outcome and consequences of design.
Develops and directs software system testing procedures, programming,
and documentation. Consults with customer concerning maintenance of
software system. May coordinate installation of software system.
GOE: 11.01.01 STRENGTH: S GED: R5 M5 L5 SVP: 8 DLU: 90

--- Cut ---

Alexei.
Phlip
2007-03-21 01:35:52 UTC
Permalink
Post by Alexei Polkhanov
Here is legal definition from US DOL (http://www.oalj.dol.gov/PUBLIC/
DOT/REFERENCES/DOT01B.HTM).
Systems Analyst is a Software Engineer with at least Bachelor Eng. and
5 years of related experience in industry, at least that is minimal
requirements according to TN1 visa rules. This kind of visa usually
issued to "very skilled workers" from US who want to work in Canada
and opposite. Note that any kind of coding or programming is not part
of System Analyst's job description.
I once got a Canadian work visa without a degree. They just put me down as
"consultant" instead of "software engineer". So I guess the /de-jure/
pecking order is the inverse of the /de-facto/ one!
--
Phlip
http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
Christopher M Siwy
2007-04-06 19:30:02 UTC
Permalink
Software Engineering has more to do than simply design and coding. In
fact, software engineers are responsible for requirements, testing and
even management of the project. A good source for the breadth of
knowledge a software engineer is expected to know, go to www.swebok.org
This site lists the Body of Knowledge for a software engineer. I was
under the impression that a Systems Engineer/Analyst is more
responsible with hardware systems as opposed to the "soft" products
being software. For information about system engineers simply check
out the www.incose.org website.

Nonetheless, IEEE states Software Engineering as:
(1) The application of a systematic, disciplined, quantifiable
approach to the development,
operation, and maintenance of software; that is, the application of
engineering to software.
(2) The study of approaches as in (1).
a***@sbcglobal.net
2007-04-09 06:17:35 UTC
Permalink
Post by Christopher M Siwy
(1) The application of a systematic, disciplined, quantifiable
approach to the development,
operation, and maintenance of software; that is, the application of
engineering to software.
And now we just need to know:

1) What is engineering?
2) What part of engineering can be applied to software?
3) Is enough of engineering applicable to software practice
for it to be a branch of engineering?
4) What part of software practice is not engineering?

Richard Riehle
Chris Hills
2007-04-24 19:30:30 UTC
Permalink
Post by Phlip
Post by Alexei Polkhanov
Here is legal definition from US DOL (http://www.oalj.dol.gov/PUBLIC/
DOT/REFERENCES/DOT01B.HTM).
Systems Analyst is a Software Engineer with at least Bachelor Eng. and
5 years of related experience in industry, at least that is minimal
requirements according to TN1 visa rules. This kind of visa usually
issued to "very skilled workers" from US who want to work in Canada
and opposite. Note that any kind of coding or programming is not part
of System Analyst's job description.
I once got a Canadian work visa without a degree. They just put me down as
"consultant" instead of "software engineer". So I guess the /de-jure/
pecking order is the inverse of the /de-facto/ one!
I though to be a "consultant" you had to be able to play Golf? Or ar
the very least be a member at a proper Golf Club (and not the local
Municipal one)
--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ***@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Phlip
2007-04-25 00:25:20 UTC
Permalink
I though to be a "consultant" you had to be able to play Golf? Or ar the
very least be a member at a proper Golf Club (and not the local Municipal
one)
I could never be a consultant. I'm too opinionated.
--
Phlip
http://flea.sourceforge.net/PiglegToo_1.html
Chris Hills
2007-04-25 07:53:55 UTC
Permalink
Post by Phlip
I though to be a "consultant" you had to be able to play Golf? Or ar the
very least be a member at a proper Golf Club (and not the local Municipal
one)
I could never be a consultant. I'm too opinionated.
I thought that was a prerequisite? (along with the golf and high fees)
--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ***@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Loading...