Upon successful completion of the course, the candidate should be: (i) Able to describe the history of software development and software lifecycle management; (ii) Able to address various challenges of user interface design and adaption (iii) Demonstrate ability to carry out system feasibility study and document requirements; (iv) Able to carry out software modularization using one of the most popular software design tools; (v) Show ability to manage a software development process; (vi) Able to design, implement and deploy a software product; and (vii) Able to performance software correctness and testing with minimum difficulties.