In: Computer Science
Define different types of UML diagram needed to represent the essential features of a system?
Distinguish among the fundamental architectural views proposed in Krutchen’s 4+ 1 model.
Compare between functional and non-functional requirements with example for each.
Define Capability Maturity Model (CMM) and the different levels of CMM.
UML : -Unified modelling language , It is an industry -standard graphical language ,specfying ,visualizing,constructing and documenting the antifacts of software system.uml combines techniques from data modelling, business modelling,object modelling and component modelling.
UML diagram represents two different views of system modelling-
1.STATIC OR STRUCTURAL DIAGRAM :- The view emphasizes the static structure of system using objects,attributes operation and relationship.These static parts are represented by classes, interfaces, objects, components, and nodes. The four structural diagrams are −
Class diagram ,Object diagram ,Component diagram, Deployment diagram.
2. DYNAMIC OR BEHAVIOURAL DIAGRAM :- The view emphasizes the dynamic behavour of the system by showing colliboration among the object and changes to the internal states of objects.
UML has the following five types of behavioral diagrams −
Use case diagram ,Sequence diagram ,Collaboration diagram ,Statechart diagram ,Activity diagram
The fundamental architectural views proposed in Krutchen’s 4+ 1 model are as follows -
A process view that shows the interacting processes in the system.the process view which captures the concurrency and synchronization aspects of the design.
A physical view that shows the distribution of software on the
system hardware.the process view. It describes the mapping of the
software onto the hardware and reflects its distributed
aspect,
A logical view that shows the key abstractions of the system.The
logical view, which is the object model of the design.
A development view that shows how the system is decomposed for
development.It describes the static organization of the software in
its development environment.
Comparision between functional and non-functional requirements with example -
Functional requirements means that the specific requirements of any system from a user point of view. For example lets say you are building the amazon website. Functional requirements would mean that you as a user should be able to go to the website click some buttons and buy an item of choice.
Non functional requirements would mean the list of qualities that the system should have to become usable. One non functional requirement for any app definitely has to be that it should be up and running when the user needs it. That in itself is a non trivial thing. Another example may be that you may want a banking app to be secure. Your banking app may be functional and running but no one is going to use it if there is no security in the transactions.
Capability Maturity Model (CMM) :- CMM is a reference software model for apprising the software process maturity. Software Engineer Institution developed Capability Maturity Modell to helped organisation to improve the quality of the softwares they build.
1. Level 1(Initial ) -A software development organization at this level is characterized by AD HOC activities.
2. Level 2( Repeatable) - This level of software development organization has a basic and consistent project management processes to tracking cost ,schedule and functinality.
3. Level 3( Defined) - At this level the software process for both management and engineering activities are defined and documented.
4. Level 4( Managed ) - At this level the focus is on software metrices.
Software Quality management – At this level, organization set a quantitative quality goal for both software process and software maintenance.
Quantitative Process Management – At this maturity level, The performance of processes is controlled using statistical and other quantitative techniques.
5 Level (Optimizing) - At this level the focus
is on continuously improving process performance.
Key features are Process change management,Technology change
management ,Defect prevention