Pragmatics 4 Hours.

Slides:



Advertisements
Similar presentations
PROCESS FRAMEWORK Lecture - 3. Topics covered PROCESS FRAMEWORK PROCESS MODELS DIFFERENCE.
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
OpenMake Dynamic DevOps
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 5 Architecture-Driven Component Development.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
OHT 6.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Development plan and quality plan objectives The elements of the development.
Project Management and Communication Represented by: Latifa Jaber Al-Ghafran.
Requirements Analysis INCOSE Systems Engineering Boot Camp
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
OHT 6.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Development plan and quality plan objectives The elements of the development.
Using UML to report results of project management for information systems projects Donna M. Gavin MMIS 621 Information Systems Project Management Assignment.
CPTE 209 Software Engineering Summary and Review.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
1 Software Testing and Quality Assurance Theory and Practice Chapter 16 Test Team Organization.
IT Systems Analysis & Design
N By: Md Rezaul Huda Reza n
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
RUP Implementation and Testing
Rational Unified Process Fundamentals Module 4: Disciplines II.
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Software Measurement & Metrics
T Project Review X-tremeIT I1 Iteration
Software Reusability An efficient way in Software Development By Tejaswi Peesapati
Test Team Organization. 2  Test Groups  Integration Test Group  System Test Group  Software Quality Assurance Group  Quality.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Systems Analysis and Design in a Changing World, Fourth Edition
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
An Automatic Software Quality Measurement System.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
Introduction to OPEN Sidney Nogueira 12/11/2003.
SEN 460 Software Quality Assurance. Bahria University Karachi Campus Waseem Akhtar Mufti B.E(C.S.E) UIT, M.S(S.E) AAU Denmark Assistant Professor Department.
Class-oriented metrics – Weighted methods per class, depth of the inheritance tree, number of children, coupling, response for class, lack of cohesion.
T Project Review Final Demo T Project Review X-TremeIT Valeria, Konstantin, Roman, Olesia, Vladislav, Seppo, Aleksandr 2 Agenda.
T Project Review MTS [PP] Iteration
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Process 4 Hours.
Chapter 1: Introduction to Systems Analysis and Design
Software Life Cycle “What happens in the ‘life’ of software”
Complexity Time: 2 Hours.
1.Introduction to Rational Unified Process (RUP)
Software Development Life Cycle (SDLC)
IT Systems Analysis & Design
Software Development Life Cycle
Software Reuse Objectives
Introduction to Software Testing
Chapter 1 (pages 4-9); Overview of SDLC
Chapter 25 Process and Project Metrics
Software Engineering I
Chapter 1: Introduction to Systems Analysis and Design
Software Processes Process should be
Chapter 32 Process and Project Metrics
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Pragmatics 4 Hours

Agenda Management and Planning Staffing Release Management Reuse Quality Assurance and Metrics, Documentation Tools Special Topics The Benefits and Risks of Object Oriented Development.

Management and Planning Risk Management Technical risks  Project architect Non-technical risks  Software development managers. Choosing flexible inheritance and efficient mechanism. Relation between customers and developers, timely targets, 3rd party collaborators. Task Planning Team meetings, Scheduling the deliverables of macro process. Intermediate milestones.

Development Reviews Balance between too many and very few reviews Use cases to check the functionality Architectural reviews (Classes and mechanisms) Informal, peer reviews.

Staffing Resource Allocation Development Team Roles First object-oriented project  more time and more staff. Analysis, Developing, Testing, Maintaining Development Team Roles Central roles of OO team are Project architect, Component Lead and Application Engineer.

For larger projects: Project Manager Analyst Reuse engineer Quality assurance Integration manager Documenter Toolsmith System administrator

Release Management Configuration management and version control Individual component  integrated  internal release operational release Versions  lowest level – class. Along with source code, specifications, architecture documents should be under configuration management. Integration Incremental and iterative approach. Release is possible when major components are stable.

Testing Unit testing – testing individual classes and mechanisms. Component testing - Subsystem testing. System testing – testing the system as a whole.

Reuse Elements of reuse Institutionalizing Reuse Any Artifact can be reused. Classes, components, framework. Any amount of reuse is good. Saves resources. Institutionalizing Reuse Opportunities of reuse should be sought out and rewarded. Individual for reuse activity. Commercial class and component libraries. Beneficial in long term and not only for the current project.

Quality Assurance and Metrics Software Quality Architecture plays vital role Development reviews and inspections Defect-discovery ratio. Defect-density: no. of defects per thousand source lines of code. Object-Oriented Metrics Process and Product metrics.

Process Product metrics Number of key classes (NKC) Classes per developer (CPD), etc. Product metrics Weighted methods per class (WMC) - Sum of the complexities of each method of an individual class Depth of inheritance tree (DIT) Number of children (NOC), etc.

Documentation Documentation Legacy Documentation Contents Gives insight of the progress of the project. Visual models helps in tracing back to requirements. Documentation Contents Apart from end-user documentation, analysis documentation, architectural, implementation documentation. Worst possible documentation – documenting each class, each method. Higher level structures should be documented.

Tools If software is big then tools will increase. Scalable tool. Kinds of Tools Visual Modeling tool with UML support (analysis) Software configuration and version control tool (development) Class library tool – predefined library, keeps building, reuse Organizational Implications Reuse engineer Toolsmith Managers facing shortage of resources

Special Topics Domain-specific Issues Effective user interfaces Database Component Real-time systems Legacy systems Adopting Object-Oriented Technology Provide formal training (UML, OO analysis and design, tools, language and libraries) Low-risk project first and allow them to learn (OOAD consultants, Growing expertise, let them act as mentors) Expose them to examples of well-defined OO systems.

Benefits and Risks of Object-Oriented Development Appeals to working of human cognition Systems are resilient to change Encourages reusability Reduces development risks Exploits expressive power of OO programming languages Personnel shortfalls Unrealistic schedules, budget. Shortfalls in products, external components Mismatch in requirements Shortfalls in architecture Continuing stream of requirement change Shortfalls in external tasks.