BSE2102; Software Development Principles II (4CU) Course Objectives; 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. Course Content; History of software design and development, Software crisis, Software lifecycle Management issues, User interfacing, Documentation, Requirements Analysis and Definition, Feasibility study, System specification, Functional of software specification Methods, Tools, Design Methodologies: structured design, functional decomposition, data-flow(data-driven), data structure (Jackson), objectoriented design, Tools: abstraction, structure chart, data-flow diagram, program design language, structured walk through, Implementation and Testing, Programming environments, teams, languages, and style ,Strategies for maintaining ability and reusability, Test case design, program testing, and system testing, Quality assurance, verification, validation, reliability, Testing methodologies, Evolution, Operation; performance analysis and measurement Maintenance References •Balancing Agility and Discipline: A Guide for the Perplexed; by Barry Boehm and Richard Turner, Addison Wesley Professional, 2003, ISBN-10:0321186125. •201Principles of Software Development, by Alan M. Davis, McGraw-Hill, March, 1995, ISBN10:0070158401