سیر تکامل نرم افزار و مهندسی نرم افزار ( Software evolution and software engineering )
- دوره اول
1- پردازش دسته ای (Batch)
2- توزیع محدود
3- نرم افزارهای سفارشی و مخصوص
- دوره دوم
1- چند کاربری
2- سیستمهای بی درنگ
3- پایگاه دادهها
4- نرم افزارهای از قبل تولید شده
- دوره سوم
1- سیستمهای توزیع شده
2- هوش تعبیه شده
(Embedded Intelligence)
3- ریزپردازندهها
4- سخت افزار ارزان
- دوره چهارم
1- سیستمهای خبره
2- ماشینهای هوش مصنوعی
3- معماری موازی
4- روشهای شئ گرا
5- CASE
دوره اول (دهه 50 و اوایل دهه 60):
در سالهای اول بوجود آمدن کامپیوتر(دهه 50 و اوایل دهه 60) این سخت افزار بود که به سرعت رشد میکرد و نرمافزار احتیاج به مدیریت چندانی نداشت. در این دوره پردازش به صورت دستهای بود و توزیعشدگی به مفهوم امروزی معنی نداشت(فقط در سیستم رزرو خطوط هوایی و یا سیستم دفاعی آمریکا). اغلب سخت افزار عهدهدار اجرای یک برنامه تنها بود که آن برنامه نیز به نوبه خود برای اجرای یک کاربرد خاص نوشته شده بود.
سخت افزار در سالهای اولیه به صورت همه منظوره درآمد اما نرم افزار همچنان تک منظوره باقی ماند و بیشتر نرمافزارها توسط یک نفر و یا یک سازمان ایجاد و استفاده میشد. پس یک نفر آنرا مینوشت، اجرا میکرد و در صورت بروز خطا آنرا برطرف و مدیریت میکرد. پس طراحی یک فرآیند ضمنی و انجام شده در مغز یک نفر بود و هیچ مستنداتی نیز وجود نداشت.