Post by H. S. LahmanResponding to Saad...
Post by Motaz K. SaadWhat 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?