250 likes | 396 Views
Welcome. Creating Software Engineers - A Systemic View Dr. F.C. Kohli. CSEE &T 2002, Feb 27,2002 Cincinnati, USA. Agenda. The “Engineering” of Software Core competencies for a Software Engineer Initial Education & Continuous Learning Systemic view of creating Software Engineers
E N D
Creating Software Engineers - A Systemic ViewDr. F.C. Kohli CSEE &T 2002, Feb 27,2002 Cincinnati, USA
Agenda • The “Engineering” of Software • Core competencies for a Software Engineer • Initial Education & Continuous Learning • Systemic view of creating Software Engineers • Knowledge Portal • Role of Professional bodies • Education for a taxonomy of IT careers • Conclusions
Engineering • Profession in which knowledge of Physical & Natural Sciences gained by • Study,Experience & Practice is applied with judgement to develop ways to utilize economically • the materials & forces of nature for the benefit of mankind. ….. Engineering Council for Professional Development
Why Engineering in Software Development? • Software development involves • Disciplined problem solving • Analysis of problem • Product specification • Identification of Component Interfaces / Sub-assemblies • Process and Project Management Skills • Prototypes • Reuse • As many programmers learn skills on the job, an engineering mindset brings a process discipline
Software and Software Engineering • Software Engineering is a systematic approach to the development, operation, maintenance and retirement of software [IEEE]. • Software is the modelling and implementation of the • philosophy, • methodology and • knowledge of accomplishing a task into computer codes.
5 P’s of Software Engineering • Product (Software) • Problem (Domain) • Process (Development Process) • Project (Project Management) • People (Team)
Dynamics of Software Development • We need to have an integrated perspective on software development (including both management functions like planning, controlling and staffing, as well as software production activities like designing, coding, testing, etc.) [Abdel-Hamid & Madnick, 89] • Software project management system is far more complex conglomerate of interdependent variables Ref. T.K. Abdel-Hamid and Stuart E. Madnick, “Lessons Learned from Modeling of Dynamics of Software Development” Communications of the ACM, Vol. 32, No. 12, 1989, pp.1426-1455
3 Core Competencies of a Software Engineer • Systems Engineering • Software Engineering • Concurrent Engineering
Core Competencies • Systems Engineering • Recognize and handle complexity in consulting assignments • Perceive systems as a network of inter related subsystems • Probe beyond and behind the obvious during problem diagnosis / discovery phases • Understand the needs and constraints of all stakeholders in the system • Get better understanding of the domain leading to lasting solutions rather than quick fixes • Treat quantitative and qualitative models with equal respect (perceptions are as important as hard data in societal applications) • Aligning Business and Information systems architectures
Core Competencies (contd…) • Software Engineering • Application of scientific knowledge in the design and construction of computer programs and the associated documentation • Concurrent Engineering • involves the interaction of diverse group of individuals who may be scattered over a wide geographic range • takes advantage of shared information • allows simultaneous focus on different phases of the software development life cycle.
Software Engineering Education • Creation of intellectual assets • Choice of raw material • Process of converting the raw material into usable assets • Guarding against obsolescence • Matching business needs and individuals’ aspirations • Learning through experience sharing
TCS Induction Training Model • Input • Predominantly Engineers from heterogeneous disciplines • Concepts - Skill - Attitude Triad • Engineering Process • Core Competencies • Mini-case implementation • Core fundamentals of Computer Science • Technologies • Life skills • “Learning to Learn” paradigm • Feedback & measuring effectiveness of training
SE Education - A Curriculum • SE Module • Systems & Concurrent Engineering • Requirements Modeling • Software Design (Structured and OOAD) • Static and Dynamic Testing • Software Quality • Project (mini-case) implementation • Computer Science foundations • Computer Architecture / Operating Systems • Discrete Mathematics / Data Structures and Algorithms • DB & Network Technology • Life Skills • Communication / Team Work / Presentation skills
Creating Software Engineers • Current Scenario • IT Education • Immature Discipline • Non consensus on Body of Knowledge • Delay in building infrastructure, general technical education, quality faculty, relevant curriculum and getting accreditation • Industry • Manpower requirement based mainly on short-term revenue targets • Delays in technology absorption • Deployment of HR with skill mismatch
General Education & IT Education - linkage • Mindset developed in General Education has to be ported to IT education • Abstraction capability • Instrumentation, Measurement & Empirical formulation • Modeling & Behavior extrapolation • Inspection & Quality Control • Elegance of Design • User friendly Interfaces • Safety considerations • Aesthetics & “Patterns” • Brevity & Clarity of communication
Resource Institute College 1 College n Experts, Mentors * * Course - 2 Course - 1 Course Coordinator Knowledge Portal - An Education Transversal Grid
Knowledge Portal • Content Authoring • Content Creation • Content Delivery • Content Monitoring / Updation • Issues • An active facilitation by experts (Hand holding) • Evaluation and Feedback • Mentoring • Industry’s experiences • Professional Body’s input • Accreditation / Recognition
Creating a Learning Environment • Abstract Industry experience and pass it to Academia • Right faculty at right time – through e-Learning mode • Relevant curriculum Knowledge Management
Role of Professional Body • Technology watch • Influencing Policy • Arbiter between Academia and Industry
Conclusion • Knowledge Portal to facilitate e-Learning & acceptance of the e-mode of learning by all • Professional Bodies to play a more proactive role • Industry to abstract experiences into knowledge capsules • Art and Science of Living • “Body of Knowledge in IT” relevant to different educational streams